2012-11-27 154 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狀態代碼