2009-11-13 81 views
0

我收到了一些與JQuery ajax不同尋常的問題。我使用IIS來託管我的Web應用程序,並且我已經爲其啓用了POST動詞的http處理程序。使用jQuery ajax,我將數據發佈到這個http處理程序,這在我們的開發和測試環境中工作得很好,而且大部分時間也在生產環境中工作。但有時我們會將空郵件數據發送到服務器上。當我們查看IISLog中的csBytes時,發現它與其他成功發佈請求相比非常少。我們使用JSON.js將JavaScript對象轉換回原始json字符串和最新的jquery.1-3.js以發佈到服務器。誰知道爲什麼會發生這種情況?用JQuery Ajax發佈空帖子

回答

0

不確定,但也許這是由瀏覽器bug引起的?既然你得到一個空的職位到服務器的jquery post方法工作正常,但它似乎像json轉換在某些情況下不起作用。

你應該看看發佈這些空值的USER-AGENT的IIS日誌文件。

當然,也有可能有人正在對您的服務器進行手動POST ...尋找漏洞利用。

0

我不認爲這是一個問題,無論是瀏覽器配置還是用戶手動發佈。因爲同一個會話http處理程序因相同的客戶端IP和用戶代理而成功接收了一些發佈的數據。我們的用戶並不是那麼高級的專業人員來進行手動發佈。因此,我認爲瀏覽器配置可能不會有問題。

1

我遇到了同樣的問題。使用tamperdata我確定我的迴應標題是404錯誤。你的路徑是否正確映射?

例: 這個工作我的本地機器上進行開發,而不是IIS服務器上:

$.post('/Reservation/UpdateHeadCount', { 
     id: '<%= Html.Encode(Model.reservation_id) %>', 
     newHeadCount: SelectedVal 
}); 

這工作兩個:

$.post('<%= VirtualPathUtility.ToAbsolute("~/Reservation/UpdateHeadCount") %>', { 
     id: '<%= Html.Encode(Model.reservation_id) %>', 
     newHeadCount: SelectedVal 
}); 
0

對於MVC,使用Url.Content幫手 $ .post('@ Url.Content(「〜/ Settings/Load」)',OnSettingsLoaded);