2013-03-13 35 views
3

前言:我知道有很多類似這樣的問題,但他們都沒有幫助我。

我有點困惑。

我有一個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 

這裏是我看到在我的瀏覽器控制檯上生產:

Production Chrome Console

這就是Dev上的樣子:

Dev Chrome Console

我檢查我的生產服務器和JavaScript和JSON不存在這樣的MIME類型,我不得不創建它們在IIS中的MIME類型,但它仍然是行不通的。我谷歌搜索到了無盡的結局,我無法弄清楚問題所在。

如果您需要任何其他信息,我會很樂意提供。

請幫忙。

在此先感謝。

+0

是的,我在所有3臺服務器上使用標準IIS6。 – ORION 2013-03-13 10:37:19

+0

添加MIME類型後,你重新啓動IIS? – 2013-03-13 10:37:50

+0

我做到了。這個應用程序在兩臺生產服務器之間是負載平衡的,所以我必須將它添加到兩臺服務器上,並且我在兩臺服務器上重新啓動了IIS是否有可能需要重新啓動服務器? – ORION 2013-03-13 10:40:27

回答

2

原來有對生產web.config中缺少的條目:

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35"> 
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35"> 
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, &#xD;&#xA;     System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;     PublicKeyToken=31BF3856AD364E35"> 
     <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> 
     <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, &#xD;&#xA;    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xD;&#xA;    PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
    </sectionGroup> 
    </sectionGroup> 
</sectionGroup> 

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

謝謝大家對你的時間和解答。

+1

你明白了:) – 2013-03-13 11:19:59

2

生產響應的尺寸都非常相似,比開發響應(173KB對366B)大得多。您應該調查text/html響應的內容 - 該內容很可能實際上是HTML格式的錯誤消息。如果Chrome瀏覽器無法查看響應,請使用Fiddler。

+0

那是因爲生產服務器正在返回調用頁面的完整HTML。不知道爲什麼,但它是。 – ORION 2013-03-13 10:56:19

+0

謝謝你的時間。 +1 – ORION 2014-08-29 13:11:07

相關問題