2012-11-27 155 views
0

我正在尝试将Instapaper Simple API集成到某些内容中,但我正在努力了解如何处理API在Javascript中发回的响应。文章被添加到Instapaper就好了,所以我知道提交工作只是不是我的响应处理程序。处理HTTP状态Ajax响应

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

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

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

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

谢谢。

编辑 当我点击链接激活下面的代码时,它现在弹出错误功能下的修改,即使它已经工作。

+0

jQuery的阅读上的StatusCode - HTTP ://api.jquery.com/jQuery.ajax/ –

回答

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/

+0

好吧,我已经添加了statusCode部分,它有点工作。警报只会弹出200个,如果我没有错,那200个意味着好吗?但201不会弹出? –

+0

你在201回调中放置了alert()代码吗?我把它留空,如果你直接使用我的代码,它将无法执行任何操作...... – ioseb

+0

是的,它实际上显示Instapaper返回一个200进行身份验证,然后返回一个201来表示该URL已被添加。 –

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

这应该与任何HTTP状态代码