我想在php中与jquery一起使用c#web服务(*.asmx)

我想在php中与jquery一起使用c#web服务(*.asmx),php,jquery,service,web,asmx,Php,Jquery,Service,Web,Asmx,我想通过jQuery在php中使用c#web服务(*.asmx)。 我的网络服务是: 我的php代码是: $.ajax({ type: "POST", url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit", dataType: 'text/xml; charset=utf-8', success: function(data) {a

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

我的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请求。如果您希望这样做,ASMXWeb服务必须位于承载此javascript代码的PHP页面所在的同一域中。在本例中,这将是
http://www.w3schools.com/

如果您试图使用的服务位于远程域上,您可以在您的域上编写一个PHP脚本,该脚本将使用远程服务(通过发送适当的HTTP请求),然后向该PHP脚本发送一个AJAX请求,而不是直接尝试调用远程服务,这是不可能的。新的PHP脚本将只是作为域和承载ASMX服务的远程域之间的桥梁


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

欢迎使用Stack Overflow!w3schools是一个错误且误导性的网站。你不应该把它作为任何语言的参考。对于PHP,有,对于JavaScript,有。请参阅以进一步了解为什么不应该在许多浏览器中使用w3schools.CORS支持仍然不完整,这是一个很好的支持,我将其用作主要的数据交换方法,但我也确保如果CORS不可用或在客户端浏览器中被破坏,会有JSONP回退。