2013-06-12 33 views
0

我有一个C#中的WebService,我想从另一个应用程序访问这个Web服务。例如,有一个web服务运行在本地主机,我也有一个网站在本地主机上运行,​​这两个项目都在不同的地方。问题是:我如何使用ajax从本地网站调用这个web服务。从另一个应用程序访问Webservice

是我的代码是这样的: WebService的

[System.Web.Script.Services.ScriptService] 
public class Service1 : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public String HelloWorld() 
    { 
     return "Hello World"; 
    } 
} 

和客户端

$.ajax({ 
    type: "POST", 
    url: "localhost:52137/Service1.asmx?op=HelloWorld", 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    data: '', 
    success: function (data, status) { 
     alert(data.d); 
    }, 
    error: function(data, status){ 
     alert(status); 
    } 
}); 

回答

0

尝试改变网址是:

网址:“HTTP://本地主机:52137 /Service1.asmx/HelloWorld“

和BTW ..如果网站运行在不同的服务端口..你仍然有xdomain问题。

CORS ASMX

0

由于这两个项目都在不同的地方,这将是CORS请求。

您需要在this文章中建议的服务应用程序中启用跨域请求。

您可以使用允许跨域请求的$.getJSON

正如您使用C#,您可以创建HTTP Handler,如this文章中所示。

相关问题