我想通過ajax發送一個post請求到另一個域並獲得json響應。服務器位於我公司的前提下,通過日誌,我可以看到它正在發送一個json響應。通過ajax/jQuery向服務器發送ajax POST請求
以下是我嘗試的一個樣本:
1)
function makeRequest(strURL){
$.get(strURL+"?callback=rest.draw_table_dyn", "{}",
function(resp){
rest.draw_table_dyn(resp);
});
}
2)
xmlhttpPost : function(strURL) {
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader("Content-Type", "application/json");
self.xmlHttpReq.onreadystatechange = function() {
rest.draw_table_dyn(self.xmlHttpReq.responseText);
}
self.xmlHttpReq.send(null);
}
然而,以下是我遇到的問題:
1)始終服務器被命中「OPTIONS」而不是「GET」或「POST」請求。我從這個鏈接(http://engin.bzzzt.biz/2010/01/25/cross-domain-xhr-access-control-preflight/)瞭解到,這是根據標準的預檢請求。
但是我可以做一個POST請求嗎?我嘗試使用$ .post,$ .ajax甚至$ .get,但無濟於事。
2)響應數據爲空。我需要數據用項目填充頁面。有沒有辦法讀取json?目前我只收到一個返回狀態爲0的空字符串。
我試過xmlHttpRequest,$ .ajax,$ .get和$ .post來發送請求並收到json無濟於事。
我在這裏閱讀(http://stackoverflow.com/questions/4221458/how-to-make-a-jsonp-call-to-an-api-using-jquery)關於在腳本中保留腳本。這也沒有爲我工作。任何想法我在這裏做錯了嗎?
可能不是你正在尋找的,但是使用php的curl來打電話可能更簡單嗎? – MikeCruz13
@ MikeCruz13我無法爲此使用它。但是,我會在使用PHP時接受您的建議。感謝您的建議。 – thiruvenkadam