我想使用的getJSON提交的用戶名和密碼的互聯網服務和提醒「喜」的getJSON問題(jQuery的)
這是我的代碼:
$.getJSON(address+"?format=json&jsoncallback=?", {CustomerEmail: email, Password: password},
function(){
alert("hi");
});
的HTTP標頭提交200消息所以它應該沒問題,但它沒有進入功能,有誰知道爲什麼請?
我想使用的getJSON提交的用戶名和密碼的互聯網服務和提醒「喜」的getJSON問題(jQuery的)
這是我的代碼:
$.getJSON(address+"?format=json&jsoncallback=?", {CustomerEmail: email, Password: password},
function(){
alert("hi");
});
的HTTP標頭提交200消息所以它應該沒問題,但它沒有進入功能,有誰知道爲什麼請?
頁面是否位於同一臺服務器上?最有可能的是你違反了same-origin policy。
你可以利用JSONP但.getJSON()
希望被命名的callback
代替jsoncallback
參數: 「回調=」
JSONP
如果URL中包含字符串在URL中,請求被視爲JSONP。有關更多詳細信息,請參閱
$.ajax()
中關於jsonp數據類型的討論。
因此使其工作你的情況,你可以嘗試用$.ajax()
:
$.ajax({
url: address+"?format=json",
data: {CustomerEmail: email, Password: password},
dataType: "jsonp",
jsonp: "jsoncallback",
success: function(data) {
alert("hi");
}
});
然後我會如何提交數據到webservice請? – 2010-07-28 09:25:36
@C:哦,對不起,我忘了添加這個,我更新了我的答案(但實際上它在文檔中有描述;)) – 2010-07-28 09:41:14
檢查,如果您收到的JSON數據是有效的。尤其是,所有字符串(即使在屬性名稱中)都被正確地引用。
從jQuery的文檔:
重要:對於jQuery 1.4,如果JSON文件包含語法錯誤, 請求通常會失敗 默默。由於這個原因避免頻繁手動編輯JSON數據的 。 JSON是 數據交換格式,其語法規則 比JavaScript的對象字面符號更嚴格。 例如,所有以JSON表示 的字符串,無論它們是屬性 還是值,都必須包含在 雙引號中。有關JSON 格式的詳細信息,請參見http://json.org/。
頁面是否位於同一臺服務器上?您很可能違反了同源策略:http://en.wikipedia.org/wiki/Same_origin_policy – 2010-07-28 09:02:29
@Felix Kling:只要'jsoncallback ='在查詢字符串中,它就被視爲'jsonp',isnt它? – jAndy 2010-07-28 09:06:54
沒有不在同一臺服務器 – 2010-07-28 09:06:58