我是新來的整個javascript/jquery/ajax場景。我有一個網站,我使用以下jQuery ajax腳本在我的個人計算機上開發了一個網站。它在我的機器上完美工作,但是當我將它上傳到服務器時,什麼都不會發生。AJAX需要請求標頭嗎?
$.post(
"action URL here",
{
lat_max: params.lat_max,
lat_min: params.lat_min,
lng_max: params.lng_max,
lng_min: params.lng_min,
building_residents: params.building_residents,
building_type: params.building_type
},
function(json) {
buildings = json;
updateMarkers();
if(polygons.length > 0){
for(var i = 0; i < poly_buildings.length; i++){
buildPolyBuildings();
}
}else{
showAllMarkers();
}
filterResults();
},
"json"
);
我一直在打我的頭這對於幾個小時,現在,唯一的想法,我已經離開的東西我不明白交易 - 請求/響應頭。當我在我的現場網站上運行這個腳本時,Firebug中的請求/響應頭部分下沒有任何東西。但是,當我在本地運行時,有很多東西。我沒有得到什麼?
有請求查看標題的區別。這是我得到我的開發服務器上:
ResponseHeaders
Date Tue, 20 Dec 2011 20:45:07 GMT
X-Powered-By PHP/5.3.6
Transfer-Encoding chunked
Connection Keep-Alive
Server Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8r DAV/2 PHP/5.3.6
Content-Type text/html
Keep-Alive timeout=5, max=100
RequestHeaders
Content-Type application/x-www-form-urlencoded
Accept application/json, text/javascript, */*; q=0.01
X-Requested-With XMLHttpRequest
這裏就是我得到的現場服務器:
ResponseHeaders
RequestHeaders
Content-Type application/x-www-form-urlencoded
Accept application/json, text/javascript, */*; q=0.01
再次 - 我不知道這是問題,但這是我可以在兩種環境之間看到的唯一功能差異。
什麼是操作URL?因爲知道這一點非常重要,因爲您無法將Ajax請求作爲同一起源策略的一部分發送到不同的域。 – Dunhamzzz 2011-12-20 10:22:30
也許您應該使用curl(使用-d和-i選項)將數據發佈到您的服務器,並直接檢查查詢本身是否真正起作用。並且在完成後將結果追加到您的問題:) – 2011-12-20 10:26:32
'buildings = json;'應該是'var buildings = jQuery.parseJSON(json);' – OptimusCrime 2011-12-20 10:35:22