在JS文件我有這樣的:jQuery.ajaxSetup()被忽略
$.ajaxSetup({
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {},
error: function (jqXHR, textStatus, errorThrown) {
debugger;
}
});
然後再在該文件中我實例化有它的構造AJAX調用填寫一些值的對象。
function RequestViewModel() {
var self = this;
(...)
// Initalization Methods
$.ajax({
url:ajaxAddress + 'LoadStates',
success: function (data) {
debugger;
}
});
}
var model = new RequestViewModel();
但是,當在代碼中進行ajax調用時,'xml'被用作dataType而不是JSON。這導致我的Web服務調用中斷,並且我總是被髮送到AJAX調用的錯誤回調。如果我在實際的Ajax調用中移動設置,則調用將起作用,並從服務器返回數據。出於某種原因,全球環境並未得到尊重。
我的問題是爲什麼這不工作?我幾次使用過這個相同的技術,沒有這個問題。
我正在使用jQuery版本1.7.1。
UPDATE
好像這個問題是jQuery的文件的7517行。它正在執行一個IF語句,該語句被假定爲false,並跳過了在請求頭中設置正確的Content Type。
你確定你的'$ .ajaxSetup()'調用正在執行嗎? – 2012-02-07 21:17:46
這是文件中的第一個呼叫。除非它需要放在.ready()中。 – arb 2012-02-07 21:18:45
雖然不是必需的,但你所有的JS實際上都應該在'.ready()' – KOGI 2012-02-07 21:24:05