当我将我的网站移到另一台服务器时,我现在注意到ajax似乎没有工作。
当我将桌面远程连接到服务器并转到服务器上的网址即http://myserver/mywebsite时......一切正常。
当我在服务器上的visual studio中打开网站时,它也没有问题。
只有当我远程连接时才会发生'javascript'错误。
到我的web.config我添加了:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
我试过
<compilation debug="false"/>
并尝试清空网络历史记录但仍然没有运气。
有什么想法吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
另一个计算机安装了另一个IIS版本(或AppPool集成模式)。在上面编写时,需要在web.config文件中配置AJAX,但在IIS 7中,它位于System.WebServer中。如果我在家里而不是在火车上回家,我可以给你一个在同一文件中配置的两个工作样本;-)无论如何,如果你用视觉创建一个新的web应用程序,你可以得到一个正确的Web.config文件studio 2010。
修改强>
将其复制到web.config文件的底部:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<!--
<add name="WebServiceAuthenticationModule" preCondition="integratedMode" type="WebServiceAuthenticationModule.WebServiceAuthenticationModule, WebServiceAuthenticationModule" />
-->
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
sys未定义的唯一原因是,如果您在使用AJAX的页面上没有scriptmanager。
Sys是JavasScript类,它为.NET AJAX调用提供所有静态函数。
确保另一台计算机上存在程序集System.Web.Extensions.dll(或将localcopy设置为true)。