Ajax对WebService的调用返回undefined

时间:2013-11-13 20:34:59

标签: c# asp.net web-services jquery

我知道这个问题已经覆盖了几次,我完成了我的作业并检查过,我尝试了我发现的每一个解决方案,但无济于事,必定会有一些我缺失的东西。

首先,ajax调用的目的是:将3个字符串参数发送到webservice中的方法,该方法将这些数据保存到我的数据库中。 如果进程成功,则返回带有true或false的json字符串

奇怪的是,一切都在本地工作正常,但是一旦我将文件上传到服务器上,ajax调用webservice就停止了工作......

首先,我检查了是否可以通过在浏览器中键入URL来访问Web服务。我可以访问它并查看我的方法但是我说但是,当我测试我的任何方法并单击“调用”按钮时,会出现一个奇怪的事情:按钮单击会打开一个新选项卡,它会将我发送回列出我可用方法的页面?!? 谁知道为什么会这样?即使是最基本的方法Hello World也不起作用......

我无法调试此问题。我需要了解如何调试它。

最奇怪的是,ajax调用成功返回,但数据库中没有保存数据?!

其他信息:我的网站使用网址路由。不知道这是否会影响Ajax调用,但无论如何我想提一下。

我事先感谢你们的帮助。

===========================================

编辑:问题已解决

在我的web.config中有一个重写规则,它在URL的末尾添加了一个“/”,这是一个混乱的ajax调用,我评论了代码,一切都按预期工作。让我们知道,对于web服务的AJAX调用,这段代码不能很好地相处:

的Web.config:

<system.webServer>
<rewrite>
  <rules>
    <rule name="AddTrailingSlashRule1" stopProcessing="true">
      <match url="(.*[^/])$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      </conditions>
      <action type="Redirect" url="{R:1}/" />
    </rule>
    <rule name="CanonicalHostNameRule1">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.myDomain\.com$" negate="true" />
      </conditions>
      <action type="Redirect" url="http://www.myDomain.com/{R:1}" />
    </rule>
    <rule name="LowerCaseRule1" stopProcessing="true">
      <match url="[A-Z]" ignoreCase="false" />
      <action type="Redirect" url="{ToLower:{URL}}" />
    </rule>
  </rules>
</rewrite>

============================================

1 个答案:

答案 0 :(得分:0)

问题解决了,检查初始帖子,我编辑它以显示解决方案。感谢所有花时间帮助我的人