我有幾種不同的形式,每種都會返回不同的東西。我需要檢測它是否是一個簡單的字符串(所以我可以把它放在錯誤/狀態區域),或者如果它的JavaScript我什麼也不做,讓它執行。如何檢查ajax響應是否爲javascript內容類型?
這是目前我如何做我的檢查,但我想確保這是100%堅固和可靠......我想不出任何其他方式。
另一種選擇是總是使用JSON,但後來我需要一個JSON墊片,以及嘗試將JavaScript序列化爲JSON。
$.ajax({
type: 'POST',
url: form.attr('action'),
data: form.serialize()
})
.done(function(data, textStatus, xhr) {
if (!xhr.getResponseHeader('Content-Type').match(/text\/javascript/i)) {
form.find('.status').text(data).removeClass().addClass('status status-done').slideDown(200);
} else {
// this is where i do nothing and let JS run
}
})
下工作,但恐怕會有它不是去上班了一些邊緣的情況下(不知道是什麼,可能是,但重要的是這部分工程100%)
爲什麼你需要一個JSON墊片?您需要支持哪些古老的瀏覽器?我認爲你在這裏面臨XY問題...... – elclanrs 2014-08-30 23:32:50
我建議你閱讀ajax dataType,因爲它似乎有一些不好的信息。 http://api.jquery.com/jquery.ajax/ – 2014-08-30 23:38:34
那麼我應該如何區分JSON和application/javascript呢? – Tallboy 2014-08-30 23:53:35