前言:我知道有很多類似這樣的問題,但他們都沒有幫助我。
我有點困惑。
我有一個ASP.NET應用程序,它使用$.ajax
調用將一些數據返回給頁面。我有3個不同的應用程序服務器上的所有這些服務器,都是Windows Server 2003.
我不是在本地運行,它在3個Web應用程序服務器上運行。 2工作,1不。
此調用在開發服務器DevTest服務器上完美工作,但在生產服務器上失敗。我在Chrome瀏覽器中查看了控制檯,發現在我的Dev和DevTest環境中,ajax調用返回application/json
,但生產中返回text/html
。另外,在我的Dev和DevTest服務器上,一切都按照它應該的方式工作,我得到的json應該返回,但是在生產中,我得到了200 OK,但它返回了整個調用頁面html並執行了我的ajax的錯誤函數呼叫。
這裏是我的Ajax調用:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "RequestDetail.aspx/postAsync",
data: "{'reqSystem': '" + $('#ctl00_PlaceHolderMain_lblRequestSystem').text() + "', 'vendorNumber': '" + $('#ctl00_PlaceHolderMain_txtVendorNo').val() + "'}",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
這裏是後面的代碼:
<System.Web.Services.WebMethod()> _
Public Shared Function postAsync(ByVal reqSystem As String, ByVal vendorNumber As String) As String
Dim required = CheckForSpecialApproval(reqSystem, vendorNumber)
Return required.ToString()
End Function
這裏是我看到在我的瀏覽器控制檯上生產:
這就是Dev上的樣子:
我檢查我的生產服務器和JavaScript和JSON不存在這樣的MIME類型,我不得不創建它們在IIS中的MIME類型,但它仍然是行不通的。我谷歌搜索到了無盡的結局,我無法弄清楚問題所在。
如果您需要任何其他信息,我會很樂意提供。
請幫忙。
在此先感謝。
是的,我在所有3臺服務器上使用標準IIS6。 – ORION 2013-03-13 10:37:19
添加MIME類型後,你重新啓動IIS? – 2013-03-13 10:37:50
我做到了。這個應用程序在兩臺生產服務器之間是負載平衡的,所以我必須將它添加到兩臺服務器上,並且我在兩臺服務器上重新啓動了IIS是否有可能需要重新啓動服務器? – ORION 2013-03-13 10:40:27