Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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/JavaScript在json数据结果上循环_Javascript_Jquery_Json - Fatal编程技术网

jQuery/JavaScript在json数据结果上循环

jQuery/JavaScript在json数据结果上循环,javascript,jquery,json,Javascript,Jquery,Json,我有一个表单,用户可以从多个选择框a中选择一个项目。如果项目未列出,用户可以从另一个输入文本框B中添加它。在B中输入的值将执行ajax调用,该调用将项目保存到数据库中。保存项目后,将创建一个json对象,然后需要使用更新的列表填充。我所有这些都与选项一起工作。我现在需要包括保存过程是否通过或失败。如果进程通过了,那么我需要包括选项,但是如果它失败了,我只需要失败状态。以下是我的想法: { "process": [{ "status":"pass" , "m

我有一个表单,用户可以从多个选择框a中选择一个项目。如果项目未列出,用户可以从另一个输入文本框B中添加它。在B中输入的值将执行ajax调用,该调用将项目保存到数据库中。保存项目后,将创建一个json对象,然后需要使用更新的列表填充。我所有这些都与选项一起工作。我现在需要包括保存过程是否通过或失败。如果进程通过了,那么我需要包括选项,但是如果它失败了,我只需要失败状态。以下是我的想法:

{
    "process": [{
        "status":"pass" ,
        "message":"The Contributors list has been refreshed to contain the entry you just saved." }
    ],
    "newoptions": [
        {"optionValue":"Item 1" , "optionDisplay":"Item 1"},
        {"optionValue":"Item 2" , "optionDisplay":"Item 2" },
        {"optionValue":"Item 3" , "optionDisplay":"Item 3" }
    ]    
}
这就是我在.ajax例程中使用的内容:

success: function(j){
    if (j.process.status == 'pass'){
        var options = '';
        for (var i = 0; i < j.newoptions.length; i++) 
            {
                options += '<option value="' + j.newoptions[i].optionValue + '">' + j.newoptions[i].optionDisplay + '</option>';
            }
        $('#misc_userID').val('');  // reset value back to null 
        $("#misc_userID").effect("transfer", { to: $("#group_misc_available") }, 500);  //visual showing item added to select
        $('#group_misc_available').html(options);
    }
    else if (j.status == 'fail'){
        alert(j.process.message);   
    }
}
我没有收到错误,但它也没有处理j.process.status,因此选择列表A没有被刷新

您有进程数组,因此需要使用索引访问它

会是

if (j.process[0].status == 'pass'){

您没有正确访问json数据。试试这个

if (j.process[0].status == 'pass'){

我以为它需要[]但不知道放在哪里。谢谢你。+1荣誉奖-另一个只需几秒钟就得到了第一个回答。
if (j.process[0].status == 'pass'){