如何在Firefox 3.0的Javascript中调用webservice

如何在Firefox 3.0的Javascript中调用webservice,javascript,asp.net,firefox,asmx,Javascript,Asp.net,Firefox,Asmx,我在使用Firefox调用.Net web服务时遇到问题 客户一个简单的例子就足够了 服务器端代码如下所示: [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { [WebMet

我在使用Firefox调用.Net web服务时遇到问题 客户一个简单的例子就足够了

服务器端代码如下所示:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
客户端.html代码:

Hello World Denemesi<br />
type="text" disabled="disabled" /></td> 
value="Print"           onclick="print()"> </td>
此web服务在IE上工作,但不在firefox上运行,因为 webservice.htc(行为文件)不适用于firefox。我需要一个 javascript或者类似的东西,我不能用它来代替htc
文件…

您可以使用jQuery ajax调用,它们使调用web服务变得简单。请参见此处:

如果您计划在网络中使用web服务,我建议您使用ScriptService, 客户端API更简单,应该可以在大多数浏览器上使用,请参见下面的示例:

namespace XXX.Services 
{  
    [System.Web.Script.Services.ScriptService()]
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [ToolboxItem(false)] 
    public class Service1 : System.Web.Services.WebService 
    { 
        [WebMethod] public string HelloWorld() 
        { 
            return "Hello World"; 
        } 

        [WebMethod] public string Greet(string name) 
        { 
            return "Hello " + name; 
        } 
    }
}
客户端html代码:

Hello World Denemesi
<button onclick="test1()">print</button>
Hello World Denemesi
打印
客户端.js代码:

var callObject;
function init(){
service.useService( "Service1.asmx?WSDL","Service");
callObject = service.createCallOptions();
callObject.async = false;

}
function print(){
callObject.funcName = "HelloWorld";
var oResult = service.Service.callService(callObject );
if( !oResult.error )
{
edtHelloWorld.value = oResult.value;
}
}
<script>
    function test1(){
         XXX.Services.HelloWorld(function(result){
            alert(result);//do something with the result
         });

         XXX.Services.Greet("John Cane",function(result){
            alert(result);
         });
    }
</script>

函数test1(){
三十、 Services.HelloWorld(函数(结果){
警惕(结果);//对结果做点什么
});
三十、 服务。问候(“约翰·凯恩”,功能(结果){
警报(结果);
});
}