2008-09-19 106 views
0

我有一個代碼在我的活網站上運行正常,但在本地開發服務器上沒有問題。爲什麼Ajax腳本不能在本地工作?

我有一個更新div的Ajax函數。下面的代碼工作現場網站:

self.xmlHttpReq.open("POST", PageURL, true); 
self.xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
self.xmlHttpReq.setRequestHeader("Content-length", QueryString.length); 
//..update div stuff... 
self.xmlHttpReq.send(QueryString);

當我嘗試我的本地機器上運行此,沒有被傳遞到查詢字符串。

然而,混淆問題,下面的代碼確實工作在本地:

self.xmlHttpReq.open("POST", PageURL+"?"+QueryString, true); 
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
//..div update stuff.. 
self.xmlHttpReq.send(QueryString);

但是,我不能用我的本地機器上工作的代碼,因爲它沒有在現場工作服務器(出於安全原因,他們已經改變了他們在querystrings上的政策)!

我可以提醒Querystring出來,所以我知道它傳遞到我的本地機器上的功能。我唯一能想到的就是它是一個硬件/更新問題。

直播網站正在運行IIS 6(在WIN 2003箱,我認爲)

本地站點運行IIS 5.1(在XP專業版)

是否有某些更新或我丟失的東西或某事?

+0

您正在使用哪種瀏覽器? – Jim 2008-09-19 21:58:11

回答

1

在第一個例子中是否有明確設置Content-Length標題的原因?你... 不應該需要做到這一點,我不會感到驚訝,發現它造成的問題。

哦,並檢查你的編碼程序。規則不是相當查詢字符串和發佈的表單數據相同。

0

我猜Shog9是對的,而且IIS 6我聰明地忽略了你的請求併發送了正確的頭文件,而5.2引發了一個錯誤。

相關問題