簡體   English   中英

如何使用jQuery Ajax將php數組傳遞給javascript數組?

[英]how to pass a php array to javascript array using jquery ajax?

我關注了其他已解決的問題,但仍然無法解決此問題。 我想將php數組的值存儲到js數組中。 我嘗試過自己,但是在所有情況下我都獲得了不確定的價值請嘗試任何人讓我知道我錯了我的Php代碼

<?php
$var=5; 
$myArray = array();
while($var<10){
$myArray[]=$var;
$var++; 
}
echo json_encode($myArray);
?>

和js代碼

jQuery(document).ready(function(){
jQuery("#previous").click(function(){
var res = new Array(); var i= 0;
    jQuery.getJSON("phparray.php", function(data) {
while(i<5){
            res[i]=data.i;
         i++;
}
        });
    });
jQuery("#result").html(res[0]);
});

也嚇壞了這個js

jQuery(document).ready(function(){
jQuery("#previous").click(function(){
var res = new Array();
var i= 0;
    jQuery.getJSON("phparray.php", function(data) {
        jQuery(data).each(function(key, value) {
    res[i]=value;
          i++;
        });
    });
jQuery("#result").html(res[0]);
});

試試下面的代碼

   <?php
        $var=5; 
        $myArray = array();
        while($var<10){
        $myArray[]=$var;
        $var++; 
        }
       $dataarray=array("myarray"=>$myArray);
        echo json_encode($dataarray);
        ?>

jQuery的

  jQuery(document).ready(function(){
    jQuery("#previous").click(function(){
    var res = new Array(); 
        jQuery.getJSON("phparray.php", function(data) {
    var i= 0;
    while(i<data.myarray.length){
                res[i]=data.myarray[i];
             i++;
    }
  jQuery("#result").html(res[0]);
            });
        });

    });

您的代碼存在問題,即您正在加載JSON之前更新結果。 在這種情況下,也沒有理由復制數組中的每個項目,只需設置res = data(盡管上面的示例發送了一個關聯數組或JS對象是一種很好的做法)。

的PHP

<?php
  for($var=5; $var<10; $var++){
    $myArray[]=$var;
  }
  echo json_encode($myArray);

的JavaScript

$(document).ready(function() {
  var res;
  $("#result").bind('update', function() {
    $("#result").html(res[0]);
  });
  $("#previous").click(function(){
    $.getJSON("phparray.php", function(data) {
      res = data;
      $("#result").trigger('update');
    });
  });
});

暫無
暫無

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

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