2009-01-08 80 views

回答

3

我认为你的问题是做跨域调用。您必须将您的jQuery请求的数据类型更改为jsonp

看看这个link

0

首先,我不确定在jQuery中实现的跨站点ajax是否可以在所有浏览器(firefox 3)中正常工作。 其次,我假设你正在谈论一个SOAP Web服务。我宁愿不这样做。实施起来非常复杂。

3

浏览器不允许通过默认配置的域进行XMLHTTPRequest调用。您可以更改浏览器设置以使某些调用成功,但这被认为是不好的做法。

为了进行跨域请求,可以

0

下面是一个例子:

$.post("CodersWS.asmx/DeleteBook", { id_book: parseInt(currBookID, 10) }, function(res) { 
///do something with returned data: res 
}); 

在上面的例子中,我打电话叫CodersWS.asmx Web服务,并且将WebMethod里面叫DeleteBook ......我也传递了一个名为参数id_book

而且不要忘了这个片段添加到您的web.config,否则您将无法访问Web服务是这样的:

<system.web> 
    <webServices> 
     <protocols> 
      <add name="HttpGet"/> 
      <add name="HttpPost"/> 
     </protocols> 
    </webServices> 
</system.web> 
+0

是客户端的web.config或web服务? – Bravax 2009-01-09 09:54:16

0

会更好的方法是使用: Jquery.getJSON?

参见: JQuery.getJSON

这就提出了输出如何JSON数据兼容使用web服务或similiar机制的问题。

+0

使用webservice上的[ScriptService]属性允许从客户端脚本调用它。默认会返回JSON - http://msdn.microsoft.com/en-us/library/system.web.script.services.scriptserviceattribute.aspx – 2009-01-09 12:06:14

+0

与JQuery的$ .ajax({})一起使用;命令以类似的方式调用webservice,例如这里 - http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/应该做你需要的东西 – 2009-01-09 12:09:39

相关问题