将php数组发送到jquery ajax并从该数组中创建每个循环

时间:2016-02-15 05:54:41

标签: javascript php jquery arrays ajax

实际上我读了很多关于数组和jquery的话题,他们都在hmtl脚本标签里面显示了使用jquery的例子但是我试着学习的是如何读取php通过ajax在js文件中发送的数组

这是我的php示例

$record = array('jazz','rock', 'punk', 'soft', 'metal');
echo json_encode($record);

然后这是我的ajax

$.ajax({
    url: "system/music_list.php",
    dataType: 'json',
    cache: false,
    success: function(response){
        // here i want to read the array and make a loop for each element 
    },
});

谢谢,如果你能帮助我

7 个答案:

答案 0 :(得分:4)

使用长度尝试使用长度进行基本循环这...这应该会有所帮助。

 function ajax_test()
 {
    $.ajax({
        url: "system/music_list.php",
        dataType: 'json',
        cache: false,
        success: function(response)
        {
             for (var i = 0; i < response.length; i++)
             {
                 alert(response[i]);
             }
        }
    });
 }

答案 1 :(得分:2)

请使用以下代码:

$(response).each(function(key,value){
    console.log(value);
});

这里每个循环的响应数组和值得到(&#39; jazz&#39;,rock,...等)。

答案 2 :(得分:2)

尝试for loop循环记录

$.ajax({
    url: "system/music_list.php",
    dataType: 'json',
    cache: false,
    success: function(response){
        var record;
        for(record in response)
        {
            console.log(response[record]); 

        });
    },
});

答案 3 :(得分:2)

答案 4 :(得分:2)

$。each :通用迭代器函数,可用于无缝迭代对象和数组。具有length属性的数组和类似数组的对象(例如函数的参数对象)由数字索引迭代,从0到length-1。其他对象通过其命名属性进行迭代。 Reference documentation

$.ajax({
url: "system/music_list.php",
dataType: 'json',
cache: false,
success: function(response){
 //Check if the response is in expected JSON format.
  var flag = isJSON(response);
    if(flag === true)   
    { response = JSON.parse(response);  }              
    //Iterate the Array using for each loop of jquery
    $.each(response, function( index, value ) {
      console.log( "Index : " + index + "Value : " + value );
    });
  } // End of success function
}); //End of Ajax

//JSON format check
function isJSON(data) {
   var ret = true;
   try {
      JSON.parse(data);
   }catch(e) {
      ret = false;
   }
   return ret;
}

答案 5 :(得分:1)

您可以在jQuery中使用.each来获取数组索引和值:

$.ajax({
    url: "system/music_list.php",
    dataType: 'json',
    cache: false,
    success: function(response){
        $.each(response, function(index,value)
        {
            console.log(index); // print all indexes
            console.log(value); // print all values
        });
    },
});

答案 6 :(得分:1)

<div id="dat" name="dat"></div>
<script type="text/javascript">
    $.ajax({ url: "music_list.php",
             dataType: 'json',
             cache: false,
             success:function(response) { 
                 for( res in response) {
                     document.getElementById('dat').innerHTML+=response[res]+"<br/>"; 
                 }
             }
         });
</script>