2012-05-04 12 views
0

私はこれを私のWebサービスに持っています。私のjQueryのようjQuery Ajaxから戻るときのエラー

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService] 
public class Service1 : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public string HelloWorld() 
    { 
     return "Hello Worlds"; 
    } 
} 

そして、これ。

$(document).ready(function() { 
     $.support.cors = true; 

     $.ajax({ 
      type: "POST", 
      url: "http://localhost:61614/Service1.asmx/HelloWorld", 
      data: "{}", 
      dataType: "json", 
      success: function (msg) { 
       alert(0); 
       alert(msg); 
      }, error: function (a,b,c) { alert(c); } 
     }); 
    }); 

私が実行すると、Webサービスのブレークポイントが起動し、 "Hello Worlds"が返されます。

しかし、戻ってjQueryに戻ると、エラー関数が表示されます。 Safariは単に空の文字列を警告し、IEは「No Transport」を警告します。

誰かが間違っているのを見ることはできますか?

[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
[WebMethod] 
public string HelloWorld() 
{ 
    return "Hello Worlds"; 
} 

はまた、あなたのAJAX呼び出し中のcontentTypeを指定する必要があります:

答えて

0

はまたScriptMethod属性を追加する必要があります。また

$.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "http://localhost:61614/Service1.asmx/HelloWorld", 
      data: "{}", 
      dataType: "json", 
      ... 

、トピックに関する良い記事:Here

+0

私はその記述子を追加しましたが、問題は依然として続きます – griegs

+0

ブラウザで 'http:// localhost:61614/Service1.asmx'に行ってそこからメソッドを実行すると動作しますか?サーバー側で設定が誤っている可能性があります。私は、クライアント側(js)コードからあなたのような一連のWebサービスメソッドを使用していますが、私があなたに示したコードで問題はありません。 – Andrey

+0

また、私はリンク先の記事に行く - 彼らは完全なダウンロード可能なソリューションを持って、サーバー側とクライアント側で、あなたの環境で動作するかどうかを参照してください。そうでなければ、あなたの環境に何か問題があるという兆候です。あなたの進歩に私を更新してください。 – Andrey

関連する問題