执行jquery $ .getJSON()方法时出错

时间:2013-01-15 15:14:04

标签: jquery ajax json

我正在开发示例jQuery插件,它从JSON响应中加载数据。

我不是为什么,但它没有调用成功方法。它将转向.error()方法。任何人都可以帮助我吗?

http://www.technicalkeeda.com/demos/load_scroll_content会返回正确的JSON响应。

<script>

    $(document).ready(function () { 

    var jqxhr = $.getJSON('http://www.technicalkeeda.com/demos/load_scroll_content', function(data) {           
        alert("success");
    },"json").success(function() { alert("second success"); })
    .error(function(xhr, testStatus, error) {

        alert('Error' + xhr.status);
        alert('Error' +xhr.response);
        alert('Error' +xhr.responseText);

    })
    .complete(function() { alert("complete"); });   
    jqxhr.complete(function(){ alert("second complete"); });

});
</script>

服务回复

[[{"EMPLOYEE_ID":"1","EMPLOYEE_NAME":"Yashwant Chavan"},{"EMPLOYEE_ID":"2","EMPLOYEE_NAME":"Mahesh Diwan"},{"EMPLOYEE_ID":"3","EMPLOYEE_NAME":"Rajesh Limaye"},{"EMPLOYEE_ID":"4","EMPLOYEE_NAME":"Pankaj Patil"}]]

1 个答案:

答案 0 :(得分:2)

您需要添加JSONP回调参数,如下所示:

$.getJSON('http://www.technicalkeeda.com/demos/load_scroll_content?callback=?');

jQuery ajax函数会替换掉最后一个吗?到像'jQuery12345'这样的随机字符串,响应应该像这样使用回调参数值:

jQuery12345([
  {"EMPLOYEE_ID":"1","EMPLOYEE_NAME":"Yashwant Chavan"},
  {"EMPLOYEE_ID":"2","EMPLOYEE_NAME":"Mahesh Diwan"}
])

您可以在此处阅读有关JSON的更多信息: