Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery在ajax json响应中循环_Jquery_Ajax_Json_Response_Each - Fatal编程技术网

jQuery在ajax json响应中循环

jQuery在ajax json响应中循环,jquery,ajax,json,response,each,Jquery,Ajax,Json,Response,Each,我有一个来自PHP的JSON响应,如下所示: [[{"name":"J1","id":"0088","order":"2928868"}],[{"name":"J2","id":"0171","order":"2928868"}],[{"name":"J2","id":"0249","order":"2928868"}]] 我要做的是输出订单号,在id为#ordernum的元素中总是相同的 然后对于其他部分,我想在容器div中为name和id创建几个div 我很确定我可以让这个部分正常工作,但

我有一个来自PHP的JSON响应,如下所示:

[[{"name":"J1","id":"0088","order":"2928868"}],[{"name":"J2","id":"0171","order":"2928868"}],[{"name":"J2","id":"0249","order":"2928868"}]]
我要做的是输出订单号,在id为#ordernum的元素中总是相同的

然后对于其他部分,我想在容器div中为name和id创建几个div

我很确定我可以让这个部分正常工作,但我不确定的是如何循环每个JSON行,以到达我可以创建div的部分

这是我到目前为止所拥有的,但它附加到一个div,我想在其中创建新的div

我是否需要在$('#ordernum').text(第[0]行).order)之后再执行一次$.each()


我认为一切正常 只有响应。订单将显示未定义

如果。每个循环都没有按照所说的那样工作,则将其置于循环之前 var response=$.parseJSON(响应)

如果你需要解决,比如

[{"name":"J1","id":"0088","order":"2928868"},{"name":"J2","id":"0171","order":"‌​2928868"},{"name":"J2","id":"0249","order":"2928868"}]
然后在php代码中,您可以在最后一行的第二行中执行

 $output[] = $array[0];
那么您就不需要javascript中的索引了

 $('#ordernum').text(row[0].order);
将此代码放入fire bug控制台

var response =[[{"name":"J1","id":"0088","order":"2928868"}],[{"name":"J2","id":"0171","order":"2928868"}],[{"name":"J2","id":"0249","order":"2928868"}]];

console.log(response.length);
console.log(response.order);
$.each(response, function(index, row) {

         console.log(row[0].name);     
         });
并检查结果


您可以在第一个循环下创建div,不需要第二个循环,就像您不更改响应一样,或者您可以重新格式化它。

Try
var response=JSON.parse(response)在成功处理程序中。为什么有数组?响应可以重新格式化为
[{“name”:“J1”,“id”:“0088”,“order”:“2928868”},{“name”:“J2”,“id”:“0171”,“order”:“2928868”},{“name”:“J2”,“id”:“0249”,“order”:“2928868”}
尝试使用$('#ordernum')。text(row.order);谢谢你的回复。我已经完成了php端的json响应,并且得到了您得到的结果,但是现在我得到了这个错误SyntaxError:json.parse:unexpected字符,当使用var response=$.parseJSON(response)并使用.each时。有没有可能把它放在小提琴里,这样我就可以看到它工作了?您可以先在json.parser.online.fr上检查有效的json。不停摆弄
 $('#ordernum').text(row[0].order);
var response =[[{"name":"J1","id":"0088","order":"2928868"}],[{"name":"J2","id":"0171","order":"2928868"}],[{"name":"J2","id":"0249","order":"2928868"}]];

console.log(response.length);
console.log(response.order);
$.each(response, function(index, row) {

         console.log(row[0].name);     
         });