0

我正在尝试访问从 ajaxSubmit 请求返回的数据。

 $("#searchbutton").on('click', function() {
            $("#searchform").ajaxSubmit({
                success: function(data) {
                    populate('#registrationform', data);
                },
                resetForm: true
            });
        });

返回的数据没有被我的填充函数识别,但是如果我使用原始数据,

 $("#searchbutton").on('click', function() {
            $("#searchform").ajaxSubmit({
                success: function(data) {
                    populate('#registrationform', {studentId: 1, firstName: 'Kay'});
                },
                resetForm: true
            });
        });

我的填充功能有效。任何想法为什么返回的数据无法识别?

4

2 回答 2

2

我的猜测是数据实际上是作为字符串返回的,而不是 JavaScript 对象。如果您使用 进行检查console.log(data),则很容易忽略这种区别。

查看方法和选项的文档,很可能您的服务器的响应被视为一个简单的字符串。尝试显式设置,看看会返回什么。那,或反序列化为一个对象。successdataTypedataType: "json"JSON.parse()

于 2013-05-29T13:55:11.883 回答
0

像这样使用它,

$("#searchbutton").on('click', function() {
     $("#searchform").ajaxSubmit({
         success: function(data) {// data should be return as json
            populate('#registrationform',{studentId: data.id, firstName: data.name});
         },
         resetForm: true
     });
});
于 2013-05-29T13:43:20.800 回答