0

我正在尝试从表单提交中获取数据。这是代码。

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;
}

现在的问题是我无法将数据放入我想要的变量中。此外,我认为数据是作为字符串而不是数组发送的。这是用于调试目的的 alert(data) 的输出

{"questionName":"Test","pollingStatus":"0","options": {"1":"Test7","2":"Test8","3":"Test9","4": "Test10","5":"Test11"},"codeExist":true}

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

{

所以我认为 jsonencode 作为字符串返回。我想要做的是访问像 questionName 这样的数据。我该怎么做呢?如果可以的话请帮忙。

4

2 回答 2

1

您可以告诉 jQuery 使用“json”数据类型:

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

请参阅文档

于 2013-02-26T20:00:12.883 回答
0

正如上面发布的 OhGodWhy 一样,您还必须在客户端解析 json。您可以使用

obj = jQuery.parseJSON(数据);

于 2013-02-28T19:07:28.327 回答