在php中使用c#web服务(asmx)

在php中使用c#web服务(asmx),php,jquery,Php,Jquery,我想在PHP和jQuery中使用c#web服务。 下面的代码将带有$.ajax的数据发布到php代码中。但在url的i=内部,我无法从web服务获取任何数据。如何帮助我开发此代码 $.ajax({ type: "POST", url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit", dataType: 'jsonp',

我想在PHP和jQuery中使用c#web服务。 下面的代码将带有$.ajax的数据发布到php代码中。但在url的i=内部,我无法从web服务获取任何数据。如何帮助我开发此代码

$.ajax({
          type: "POST",
          url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit",
          dataType: 'jsonp',
          success: function(data) {alert('ok')},
          error  : function(e) {alert('error')}
        });
你违反了法律。不能向远程域发送AJAX请求。如果要使用AJAX从javascript使用ASMX web服务,则此服务必须与包含此脚本的页面位于同一域中

您似乎在请求中指定了
数据类型:“jsonp”
,但如果远程ASMX服务未配置为支持,则这没有任何意义

作为一种可能的解决方法,您可以编写一个新的PHP脚本,作为本地域和远程域之间的桥梁,然后将AJAX请求发送到PHP脚本。然后,此脚本将通过发送HTTP请求调用远程web服务并返回结果:

$.ajax({
    type: 'POST',
    url: '/CelsiusToFahrenheit.php',
    success: function(data) { alert('ok') },
    error: function(e) { alert('error') }
});
然后需要编写的
CelsiusToFahrenheit.php
脚本将把调用委托给远程域以调用实际的ASMX服务。有数以百万计的人 关于如何使用PHP调用ASMXWeb服务的教程。这里有一个: