2012-04-03 17 views
1

私は外部サイトwebmethodを呼び出して、いくつかのデータを投稿しようとしています。私はいろいろな方法を試みましたが、依然として呼び出されるメソッドを取得できません。ここでjsonpを使用して外部サイトwebmethodを呼び出しますか?

は私のjsのコードです:

[WebMethod()] 
     public static bool mywebmethod(int id) 
     { 
if(id != 0){ 
      return true;} 
else{return false;} 
     } 

と私はいつも私が欠けている何

Error: jQuery{code} was not called 

同じ応答を得る:ここで

$.ajax({ 
      url: "http://sitename.com/methods.aspx/mywebmethod", 
      data: "{'id':'" + 4 + "'}", 
      dataType: "jsonp", 
      type: "GET", 
      contentType: "application/json; charset=utf-8", 
      success: function (data) { 
       alert(data); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert(errorThrown); 
      } 
     }); 

は私のWebMethod属性のコードがあります?

答えて

3

JSONPは魔法ではありません。

JSONPを使用すると、JSONP scriptを返すURLのデータを読み取ることしかできません。
ASP.Net WebMethodsはJSONPをサポートしていません。

[WebMethod(EnableSession = true)] // optional, but usually forgotten 
    [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] 
    public bool MyMethod(int id) 
    { 
     return true; 
    } 

がプラス、あなたにも有数のコールバックパラメータを処理するためのコンテンツ書き換えモジュールを持っている必要があります:

+0

どのようにデータを送信できますか? – Steven

+2

できません。 JSONPの仕組みを理解する必要があります。 http://en.wikipedia.org/wiki/JSONP – SLaks

+0

他の方法でデータを投稿できますか? JSONPを使用しないでください! – Steven

関連する問題