如何回调JSON使用jQuery AJAX请求404函数? [英] How to callback a function on 404 in JSON ajax request with jQuery?

查看:239
本文介绍了如何回调JSON使用jQuery AJAX请求404函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想打一个Ajax请求与响应的JSON。所以我做了这个Ajax请求:

  $。阿贾克斯({
    网址:HTTP:// my_url,
    数据类型:JSON,
    成功:功能(数据){
      警报(成功);
    },
    错误:功能(数据){
      警报('错误');
    },
    完成:功能(数据){
      警报(完整)
    }})
 

这code工作良好,但是当我的网址给我一个HTTP code 404,没有回调的使用,甚至是完整的回调。 经过研究,那是因为我的数据类型是JSON,所以404的回报是HTML和JSON解析失败。因此,没有回调。

你有没有一个解决方案来调用回调函数,当一个404上升?

编辑:完整的回调不叫的回报是404。如果你想要一个URL机智404可以拨打:<一href="http://twitter.com/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697">http://twitter.com/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697这是这个网址我有我的问题。

解决方案

  $。阿贾克斯({
    网址: 'http://twitter.com/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697',
    数据类型:JSON,
    成功:功能(数据){
        警报(成功);
    },
    错误:功能(数据){
        警报('错误');
    },
    完成:功能(XHR,数据){
        如果(xhr.status!= 0)
             警报(成功);
        其他
             警报('故障');
    }
})
 

I want to make an Ajax request with response in JSON. So I made this Ajax request:

$.ajax({
    url: 'http://my_url',
    dataType: "json",
    success: function(data){
      alert('success');
    },
    error: function(data){
      alert('error');
    },
    complete: function(data) {
      alert('complete')
    }})

This code works good but when my url send me a HTTP code 404, no callbacks are used, even the complete callback. After research, it's because my dataType is 'json' so 404 return is HTML and the JSON parsing failed. So no callback.

Have you a solution to call a callback function when a 404 is raised ?

EDIT: complete callback don't call is return is 404. If you want an URL wit 404 you can call : http://twitter.com/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697 it's with this URL I have my problem.

解决方案

$.ajax({
    url: 'http://twitter.com/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697',
    dataType: "json",
    success: function(data) {
        alert('success');
    },
    error: function(data) {
        alert('error');
    },
    complete: function(xhr, data) {
        if (xhr.status != 0)
             alert('success');
        else
             alert('fail');
    }
})

这篇关于如何回调JSON使用jQuery AJAX请求404函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆