【问题标题】:Jquery fails to call webservicejquery调用webservice失败
【发布时间】:2012-04-23 12:09:27
【问题描述】:

我正在尝试使用 Jquery AJAX 调用 Web 服务 http://www.w3schools.com/webservices/tempconvert.asmx

 function AppendListItems() {
            var webMethod = "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit";
            jQuery.support.cors = true;
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: webMethod,
                data: { Celsius: "10" },
                success: function (msg) {

                    $("#lstPhoneNames").append("<li>" + msg.d + "</li>");
                },
                error: function (ex, a, b) {
                    alert(b);
                }
            });

        };

但是,调用失败它返回错误日志:

 <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>

            <h2> <i>Runtime Error</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> Description: </b>An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
            <br><br>

            <b>Details:</b> To enable the details of this specific error message to be viewable on remote machines, please create a &lt;customErrors&gt; tag within a &quot;web.config&quot; configuration file located in the root directory of the current web application. This &lt;customErrors&gt; tag should then have its &quot;mode&quot; attribute set to &quot;Off&quot;.<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

&lt;!-- Web.Config Configuration File --&gt;

&lt;configuration&gt;
    &lt;system.web&gt;
        &lt;customErrors mode=&quot;Off&quot;/&gt;
    &lt;/system.web&gt;
&lt;/configuration&gt;</pre></code>

                  </td>
               </tr>
            </table>

            <br>

            <b>Notes:</b> The current error page you are seeing can be replaced by a custom error page by modifying the &quot;defaultRedirect&quot; attribute of the application&#39;s &lt;customErrors&gt; configuration tag to point to a custom error page URL.<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

&lt;!-- Web.Config Configuration File --&gt;

&lt;configuration&gt;
    &lt;system.web&gt;
        &lt;customErrors mode=&quot;RemoteOnly&quot; defaultRedirect=&quot;mycustompage.htm&quot;/&gt;
    &lt;/system.web&gt;
&lt;/configuration&gt;</pre></code>

                  </td>
               </tr>
            </table>

            <br>

    </body>

我是否以错误的方式调用服务?

【问题讨论】:

  • 你是在浏览器、模拟器还是真机上测试这个?
  • 是的,我正在 IE、chrome 浏览器上测试这个
  • 在使用 jquery-mobile 时,我从来没有能够测试来自浏览器的 ajax 调用,不知何故,它们只能在模拟器或真实设备中工作。我想知道是否有人知道出了什么问题。

标签: jquery ajax jquery-mobile


【解决方案1】:

尝试添加准备好的文档:

    jQuery.support.cors = true;

【讨论】:

    【解决方案2】:

    使用Fiddler 之类的工具检查实际请求发送到服务器的内容。您可能会发现您发送的内容与实际需要的内容有所不同

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 返回结果:服务器无法处理请求。 --->根级数据无效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      相关资源
      最近更新 更多