处理HTTP状态Ajax响应

时间:2012-11-27 18:39:31

标签: javascript ajax http instapaper

我正在尝试将Instapaper Simple API集成到某些东西中,但我很难理解如何处理API在Javascript中发回的响应。这篇文章正在添加到Instapaper中,所以我知道提交工作正好不是我的响应处理程序。

这是我到目前为止的代码,我猜测成功函数不是处理响应的正确方法。

$.ajax({
    type: 'GET',
    url: url,
    dataType: 'jsonp',
    success: function( data, status ) {
        alert("yay");
    },

    error: function(status) {
        alert("oh noes");
    }
});
return false;

Instapaper在添加文章时返回201。我可以看到,在谷歌Chrome网络工具中,GET返回了201状态。只是想知道我如何处理上面代码中的状态。

感谢。

修改 当我点击链接激活下面的代码时,它会立即弹出错误功能下的alter,即使它已经有效。

2 个答案:

答案 0 :(得分:1)

$.ajax({
  statusCode: {
    201: function() {
      alert("201!");
    }
  }
});

这适用于任何http状态代码

答案 1 :(得分:1)

jQuery.ajax()为此目的提供了statusCode映射:

$.ajax({
    type: 'GET',
    url: url,
    dataType: 'jsonp',
    statusCode: {
      200: function( data ) {
          alert("yay");
      },
      201: function( data ) {

      }
    },
    error: function(status) {
        alert("oh noes");
    }
});

http://api.jquery.com/jQuery.ajax/