簡體   English   中英

將PHP的對象數組導入Javascript

[英]Import PHP's array of objects into Javascript

我有一個php腳本,它根據HTML輸入構造一個對象數組,然后顯示結果。 我想要做的是逐頁顯示結果。 就像谷歌(或其他搜索引擎)展示他們的結果一樣。 當用戶單擊下一步時,后續的結果塊將回顯到頁面。

使用Javascript(一個Javascript函數被稱為onClick事件),我必須導入由PHP腳本准備的整個數組並相應地索引它。 這是腳本的一部分,因此您知道數組的類型

foreach($results as $id => $currentResult)
{
    $temp[$i]->id = $id;
    $page = get_page_by_id($id);
    $temp[$i]->url = $page['url'];
    $temp[$i]->title = $page['title'];
    $temp[$i]->score = $currentResult->score;
    ++$i;
}
$temp = qsort($temp);

所以$ temp是我將在Javascript中使用的數組。 這可以通過僅使用PHP完全消除,但我正試圖從服務器上卸載。

您可以使用json_encode將該數組發送到javascript,並在那里評估它,以便您獲得數據結構。

http://php.net/manual/en/function.json-encode.php

要將值從PHP傳遞給js,請在HTML模板中使用以下內容:

<script type="text/javascript">
    var my_array = <?php echo json_encode($my_array_to_path); ?>;
</script>

然后在你的JS中你可以使用下一個語法:

my_array['some_key']; // or my_array.some_key

我認為很棒的東西。

我建議使用ajax $('#my_link_id')。onClick(function(){//執行ajax的東西,從服務器加載});

http://api.jquery.com/jQuery.ajax/

在PHP中執行此操作:

    $temp = qsort($temp);
    json_encode( $temp );

在HTML中您可以使用jQuery將數據加載回:

    $.ajax( {
      url: 'some_page.php',
      dataType: 'json',
      success: function( data ) {
          var returnObj = $.parseJSON( data );
          // and more code goes here
      }
    } );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM