5
我在使用jquery的307 Temporary Redirect
statusCode有很多麻煩。如何處理statuscode 307與jquery重定向
我有一個apache服務器,在需要時返回一個307。 307正在被正確拋出(我可以看到這與螢火蟲或wireshark蹤跡),但我似乎無法得到重定向觸發。
$.ajax({
url: someURL,
type: 'GET',
processData: false,
data: someData,
cache: true,
timeout: 5000,
statusCode: {
307: function() {
alert('307'); // this does NOT get called
}
},
error: function(request, status, error){
try {
console.log(request.getAllResponseHeaders());
}
catch (err) { }
},
success: function(data, textStatus, response){
try {
console.log(response.getAllResponseHeaders());
}
catch (err) { }
});
我想查看標題,所以我可以使用getAllResponseHeaders()
方法重定向。這工作得很好200的,但307從來沒有觸發(在success
也不error
處理)
有一件事我使用Firebug檢查交通是重定向之後一個Ajax GET
被髮送到服務器的網址時,發現的重定向!然而,這導致失敗。
那麼,什麼給了?
編輯: 我想這與jQuery 1.5.1和1.6.1
確保您的HTTP響應正文至少包含一個空格。這將有助於瀏覽器更好地行事。有一個Firefox附加電話「Live HTTP Headers」可能有助於調試。你正在使用jQuery v 1.5或更高版本,對嗎? – Teddy 2011-06-13 15:40:29
@泰迪。我試着用jQuery 1.5.1和1.6.1。此外,整個重定向html頁面將與307一起返回 – Darcy 2011-06-13 15:43:58