我有以下要求中止或標記一個Ajax請求一旦瀏覽器收到200 OK
// =============================================== start()
//
// clicked_button : the user click the start button.
// app_path : the app path
//
// return none.
//
var start = function(clicked_button, app_path) {
$.ajax({
type: 'POST',
data: { 'app_path': app_path },
url: '/app/start',
context: clicked_button,
})
.done(function(data) {
console.log(data);
$(this).removeClass('btn-success');
$(this).addClass('btn-danger');
$(this).text('stop');
})
.fail(function(data) {
console.log('failed to start the app: ' + data);
})
};
請求被髮送到服務器,並運行完全完成,我測試過它,則瀏覽器接收200 OK,我檢查了它,但不知怎的,.done函數中的代碼沒有執行,就像請求尚未完成。
我該如何檢查瀏覽器是否收到200 OK,然後放棄ajax調用,並繼續jQuery代碼。
我正要推薦相同的,然後我發現這個答案:http://stackoverflow.com/questions/8840257/jquery-ajax-handling-continue-responses-success-vs-done這就是說,這樣做是首選的方式。 (雖然我不知道爲什麼它不工作) – fodma1
我用過它,還是一樣,瀏覽器確實收到200 OK,服務器端操作成功完成,數據更新了,但是裏面的代碼沒有執行成功或完成。 –
該代碼是可用的github上,請任何想法可以有所幫助https://github.com/oussamaelgoumri/appRunner/blob/master/app/eo/src/js/app.js –