首頁>Program>source

所以我有一系列从資料庫檢索的記錄.陣列的格式;

$rows[0]['id']=1;
$rows[0]['title']='Abc';
$rows[0]['time_left']=200;

$rows[1]['id']=2;
$rows[1]['title']='XYZ';
$rows[1]['time_left']=300;
//And so on upto 10-20 rows

將這个陣列轉移到我的javascript代碼中的最佳方法是什麼? 我希望javascript能够遍歷所有記錄,並使用'id'屬性,使用一些資訊使用该ID更新div.

我的javascript代碼在外部.js檔案中,但是我可以在頁面的HTML代碼中執行php代碼.所以我可以做這樣的事情:

In my_file.js:

var rows=New Array();

In HTML code:

<html>
<head>
<script type="text/javascript" src="js/my_file.js"></script>
<script type="text/javascript">
<? foreach ($rows as $row):?>
<? extract($row);?>
rows[<?=$id;?>]['title']="<?=$title;?>";
//And so on
<? endforeach;?>
</script>
最新回復
  • 5月前
    1 #

    我倾向於為此使用JSON物件:

      On the server side, JSON encode your data: json_encode($data);

      在JavaScript方面,我編寫了一个將JSON物件作為引數並將其解壓縮的函式。

      解壓縮物件時,可以將陣列的內容print到 <DIV>中 標記,或您希望在頁面上的任何位置(jQuery做得很好)。

  • 5月前
    2 #

    如果您正在處理內聯資料,我一直很類似

    <script type="text/javascript">
    window.sitescriptdata = {}; 
    window.sitescriptdata.foo = ( <?php echo json_encode( $structure ); ?> );
    </script>
    

    對於基本內容,省去了執行AJAX回撥的麻煩.另外,如果您想將資料粘贴到DOM节點,"元物件"方式也是我真正類似的方式.

    <div id="foobar">
     <div><object class="metaobject">
            <param name="data" value="<?php echo htmlentities(json_encode($data), ENT_QUOTES );?>" />
     </object></div>
    </div>
    

    現在,這看起来可能不太好,但是它是直接將資料与DOM节點關聯的有效方法,而無需知道到该节點的確切唯一路徑.如果您有许多資料集需要附加到特定的螢幕元素,則非常方便.

    我通常使用jQuery的http://noteslog.com/metaobjects/插件,但是它是如此的簡單以至於我有時自己寫了它(有一段時間我找不到该插件,但是它是如何工作的)

    完成後,將

    $(" div#foobar>div")。get()。data。($ yourarray此處)

    對您的代碼可见.

  • 5月前
    3 #

    要跟进您的問题(我的答複,我在評論答複中没有足够的空間),這是我使用的代碼的非常簡化的子集:

    jQuery中的Javascript AJAX處理程式:

    $.ajax({
       type: "POST",
       url: "BACKEND.php",
       timeout: 8000,
       data: "var1=" + myVar,
       dataType: "json",
       error: function(){
         $("#DIVID").html("<div class='error'>Error!</div>");
       },  
       success: function(jsonObj){
         $("#DIVID").html(jsonObj.mydata);
       }
     });
    
    PHP Array:
    $data['mydata'] = $myData;
    

  • 5月前
    4 #

    在像這樣的AJAX示例中,您可以通過以下方式解決此問题:

    .php檔案(ajax返迴函式)

    $myArray = array("object_id"=>1, "object_title"=>"Testobject");
    return json_encode($myArray);
    

    .js檔案(javascript函式)

    ...
    if(g_httpRequest.readyState == 4)
    {
    var jsonRes = JSON.parse(g_httpRequest.responseText);
    alert(jsonRes.object_title)
    }
    ...
    

  • 5月前
    5 #

    im還是很新,也說這種方法不是最安全的,但是您始终可以將javascript陣列轉換為字元串,然後將其通過php的URL傳遞给GET。

    如此:

    for(var i=0;i < jsarray.length;i++) 
    {
    var x = jsarray[i];
    urlstring += "myvalue[]="+x+"&";
    }
    document.location.href = "mypage.php?"+urlstring;
    

    然後php將是:

    $phparray = $_GET['myvalue'];
    

    希望有帮助

  • transparency:C#Picturebox透明背景似乎不起作用
  • javascript:如何順序執行promise,从陣列傳遞引數?