来自PHP的Jquery Ajax成功回调未定义

时间:2013-04-29 22:48:05

标签: jquery

我目前成功提交了我的Jquery AJAX后调用PHP。 但是我从PHP的回调开始变为UNDEFINED。

我的PHP文件:

echo json_encode(array('returned_val' => 'returned from PHP'));

Jquery的:

        //Save the data
        var url = "saveToDb.php"; // the script where you handle the form input.

        var request = $.ajax({
               type: "POST",
               url: url,
               data: $("#formSubmit").serialize(), // serializes the form's elements.
               success: function(data)
               {
                   alert(data.returned_val);
               },
               error:function() {
                    alert("failure");
                }   
             });
        return false;

在firebug中,我的.php文件调用的Net-Response标题显示:

{"returned_val":"returned from PHP"}

JSON Net-JSON标题告诉我:

returned_val                    "returned from PHP"

关于我遗失的任何建议?

2 个答案:

答案 0 :(得分:0)

$.ajax({
    type: "POST",
    dataType: 'json',
    url: url,
}).done(function(data){
    alert(data.returned_val);

}});

如果你把dataType:' json'它应该已经转换

答案 1 :(得分:0)

下面更好的解决方案。否则对象子返回“undefined”

$.ajax({
    type: "POST",
    dataType: 'json',
    url: url,
}).done(function(data){

 alert(data.returned_val); // OUTPUT: "undefined"

 var object = $.parseJSON(data);

 alert(object.returned_val); // OUTPUT : "Your message"

});