2012-04-03 81 views
1

我想调用外部网站webmethod,并发布一些数据。我尝试了很多不同的方式,仍然无法获得被调用的方法。使用jsonp调用外部网站webmethod?

这里是我的js代码:

$.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代码:

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

,我总是得到相同的响应

Error: jQuery{code} was not called 

我失去了什么?

回答

3

JSONP并不神奇。

您只能使用JSONP从URL中读取数据,该URL返回JSONP script
ASP.Net WebMethods不支持JSONP。

+0

我该如何发布数据? – Steven 2012-04-03 16:29:32

+2

你不能。您需要了解JSONP的工作方式。 http://en.wikipedia.org/wiki/JSONP – SLaks 2012-04-03 16:34:16

+0

任何其他发布数据的方式?不使用JSONP! – Steven 2012-04-03 16:35:30