2012-04-23 55 views
2

我正在嘗試使用Jquery AJAX調用webservice http://www.w3schools.com/webservices/tempconvert.asmxJquery未能調用webservice

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> 

我是調用服務走錯了路?

+0

您是在瀏覽器上,在仿真器上還是在真實設備上測試它? – Th0rndike 2012-04-23 12:15:36

+0

是我正在測試這個在IE瀏覽器,鉻瀏覽器 – Tuscan 2012-04-23 12:16:46

+0

我從來沒有能夠測試使用jQuery的手機瀏覽器的Ajax調用,不知何故,他們只能在模擬器或真正的設備。我想知道是否有人知道哪裏出了問題。 – Th0rndike 2012-04-23 12:19:28

回答

0

嘗試添加在文件準備:

jQuery.support.cors = true; 
+0

謝謝,但沒有工作 – Tuscan 2012-04-23 12:14:04

0

檢查什麼實際的請求是使用像Fiddler一些工具發送給服務器。您可能會發現您發送的內容不同,至於實際需要什麼