我想在 php 中使用 c# Web 服务 (*.asmx) 和 jquery



我想通过jQuery在php中使用c# web服务(*.asmx)。
我的网络服务是:

http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit我的PHP代码是:

    $.ajax({
      type: "POST",
      url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit",
      dataType: 'text/xml; charset=utf-8',
      success: function(data) {alert('ok')},
      error  : function(e) {alert('error')}
    });

但它不起作用。
我需要帮助

您违反了浏览器中内置的同源策略限制。不能发送跨域 AJAX 请求。如果您希望此功能正常工作,则ASMX Web服务必须与托管此javascript代码的PHP页面位于同一域中。在此示例中,这将http://www.w3schools.com/ .

如果您尝试使用的服务位于远程域上,则可以在域上编写一个 PHP 脚本,该脚本将使用远程服务(通过发送适当的 HTTP 请求),然后将 AJAX 请求发送到此 PHP 脚本,而不是直接尝试调用远程服务,这是不可能的。新的 PHP 脚本将简单地充当您的域与托管 ASMX 服务的远程域之间的桥梁。

当然,如果远程服务支持 JSONP 或 CORS,您可以直接使用它。开箱即用的 ASMX 服务并非如此。联系服务的作者,看看他是否支持他们。

最新更新