2013-02-26 50 views
0

我试图让从提交表单数据。这是代码。JQuery的邮政数据操作

function codeSubmission() { 
$("#questionCodeForm").submit(function() { 
    $.post("SubmitCode.php", $("#questionCodeForm").serialize()).done(function(data) { 
     var questionName = data.questionName, 
      options = data.options, 
      pollingStatus = data.pollingStatus, 
      codeExist = data.codeExist; 

     alert(data); 
     alert(data[1]) 
     alert(questionName); 
     alert(options); 

     if(codeExist == true) { 
      $("#quizTitle").text("questionName"); 

      for(rowNum=1;rowNum<=5;rowNum++) { 
       $("#checkbox-"+rowNum).val("Answer1"); 
       $("#checkbox"+rowNum+"label").text("Answer"+rowNum); 
      } 

      $("#answerForm").slideDown(500); 
     } else if(codeExist == false) { 
      alert("This quiz code is invalid"); 
     } 
    }); 
    return false; 
}); 
return false; 
} 

现在的问题是我无法将数据导入到我想要的变量中。此外,我认为数据是作为一个字符串而不是数组发送的。这里是出于调试目的的警报(数据)的输出

{“questionName”:“Test”,“pollingStatus”:“0”,“options”:{“1”:“Test7”,“2 “:” Test8" , “3”: “Test9”, “4”: “Test10”, “5”: “TEST11”}, “codeExist”:真}

现在从jsonencode输出上述似乎是对的。但是看到这里的问题是数据[0]的输出。

{

所以我觉得jsonencode将返回一个字符串。我想要做的就是访问像questionName这样的数据。我该怎么做呢?如果可以的话请帮忙。

+1

嗯,当然它返回一个字符串,JSON是将代表一个对象...字符串格式的符号。这里的问题是,'$。员额()'不解码发送的JSON对象回来,所以你需要'$ .parseJSON(数据)'来得到你想要的。 – Ohgodwhy 2013-02-26 19:58:29

+0

所以而不是$ .post我写$ .parseJson? – 2013-02-26 20:07:29

+0

您可以使用以下任一提到答案,作为传递'json'作为一个字符串$。员额方法,会告诉它使用'$ .parseJSON()'的'returnData',或者你可以做,'returnData = $ .parseJSON(returnData);' – Ohgodwhy 2013-02-26 20:12:18

回答

0

由于OhGodWhy上面贴,你还必须分析在客户端的JSON。为此,您可以使用

OBJ = jQuery.parseJSON(数据);

1

你可以告诉jQuery来使用 “JSON” 数据类型:

$.post('url', postData, function(returnData) { 
    alert(returnData.question); 
}, 'json'); 

documentation

+0

问题是,当我放入'json'时,页面不断刷新,所以我看不到警报。 – 2013-02-26 20:07:03