【问题标题】:Ajax Call to WebService returns undefined对 WebService 的 Ajax 调用返回未定义
【发布时间】:2013-11-13 20:34:58
【问题描述】:

我知道这个问题已经在这里讨论过几次了,我做了功课并检查了,我尝试了我找到的每一个解决方案,但无济于事,一定有我遗漏的东西。

首先,ajax 调用的目的:将 3 个字符串参数发送到 Web 服务中的一个方法,该方法会将这些数据保存到我的数据库中。 如果处理成功,则返回一个带有真假的json字符串

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

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

我在调试问题时遇到了麻烦。我需要一些关于如何调试的见解。

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

其他信息:我的网站使用 URL 路由。不知道这是否会影响 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>

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

【问题讨论】:

  • 我们能看到.whiteNightSubmit的HTML吗?
  • 您是否使用过Firebug 或类似的浏览器开发工具来检查从服务调用返回的 JSON 负载?如果是这样,请在您的问题中发布该有效负载。
  • 我正在使用 Firebug 和/或 Chrome 的开发面板。有效载荷?嗯,我很乐意但是...我似乎不知道该怎么做...有趣的是,警报弹出但控制台没有写任何错误...
  • 尝试在 Chrome 开发工具中使用断点,并且在 alert(data.status) 行中,状态未定义,并且当我访问此 URL 时,数据似乎包含一个看起来像默认页面的 HTML 模板: www.mydomain.com/webservice.asmx

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


【解决方案1】:

问题已解决,查看最初的帖子,我对其进行了编辑以显示解决方案。感谢所有花时间帮助我的人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多