从另一个应用程序访问Web服务

时间:2013-06-12 18:14:55

标签: c# jquery ajax web-services

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

我所拥有的守则是这样的: 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);
  }
});

2 个答案:

答案 0 :(得分:0)

尝试将网址更改为:

url:“http://localhost:52137/Service1.asmx/HelloWorld”

顺便说一下..如果网站运行的端口与服务不同,那么你仍然会遇到xdomain问题。

CORS ASMX

答案 1 :(得分:0)

由于这两个项目位于不同的地方,因此将是CORS请求。

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

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

当您使用C#时,您可以创建HTTP处理程序,如this文章中所示。