jquery - 如何使用 JQuery 解析 json 响应并添加 error、complete 等功能?

标签 jquery json error-handling

我正在努力使用 Json 解析制作一个迷你应用程序。我通过点击 url http://localhost:3000/cities.json 得到的输出如下

[
    {
    "id": 1,
    "name": "Bangalore"
    },
    {
    "id": 2,
    "name": "Chandigarh"
    },
    {
    "id": 3,
    "name": "Chennai"
    },
    {
    "id": 4,
    "name": "Hyderabad"
    },
]

我已经使用函数解析了这个

  $.getJSON("http://localhost:3000/cities.json?&callback=?", function(data) {
                //something something
 }

现在我想向其中添加 .error 函数,这样万一响应出现问题或服务器没有响应,我可以通过发出类似的警报来了解它

.error(function(){alert("error");})

我尝试了以下方法

  $.getJSON("http://localhost:3000/cities.json?&callback=?", function(data) {
                //something something
         }).error(function(){
            alert("error");
         })

我也用这个方法尝试过

     var cities = $.getJSON("http://localhost:3000/cities.json");
                   cities.error("hi");        

但是它们都不起作用。为了检查错误,我停止了本地服务器,但它没有给我任何警报。请指导我应该走哪条路?

------编辑--------

还尝试使用

 var jqxhr = $.getJSON("http://localhost:3000/cities.json?callback=?", function() {
          alert("success");
        })
        .success(function() { alert("second success"); })
        .error(function() { alert("error"); })
        .complete(function() { alert("complete"); });

如果我的 localhost:3000 服务器正在运行,它会给我警报成功和第二次成功,但如果我停止它,则不会出现错误调用,也使 url 只是 http://localhost:3000/cities.json 无论服务器是否运行,总是倾向于给出错误

最佳答案

您可以使用ajaxSetup

$.ajaxSetup({
  error:function(XMLHttpRequest) {   
    //error
    console.log(XMLHttpRequest.responseText);
}});

并且您的 getJSON 照常进行

  $.getJSON("http://localhost:3000/cities.json?&callback=?", function(data) {
                //something something
 });

关于jquery - 如何使用 JQuery 解析 json 响应并添加 error、complete 等功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7739111/

相关文章:

javascript - 使用java脚本像gmail一样滚动邮件正文并使用固定页脚

javascript - innerHTML 变化时的动画高度调整

javascript - 停止从单击处理程序传播 mousedown/mouseup

php - 如何使用 PHP 向 JSON 对象添加元素?

PHP 错误输出 - 带有 IIS7 和 FastCGI 的 Plesk 9.2

jquery - CSS显示: flex; not working properly in IE browser

c++ - 使用属性树在 Boost 中创建 JSON 数组

json - 如何使用 'wp_insert_user' 登录 Facebook?

jquery - Nodejs 函数中的域错误处理程序装饰器

javascript - 用 try catch 包装现有 javascript 对象的所有方法