繁体   English   中英

使用jquery调用.net webservice的最佳方法是什么?

[英]What is the best way to call a .net webservice using jquery?

我想仅使用jquery从另一个域调用.net webservice。

做这个的最好方式是什么? 在托管网页的网站上我需要注意哪些配置更改?

我问这个问题的原因是,我只能控制那个区域。 所以我只能进行有限的改动。

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

为了执行跨域请求,您可以

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

看看这个链接

一般来说,答案是否定的,假设您正在谈论ASPX Web服务(基本上是ASP.NET站点中托管的WebService)。

这是Google搜索“webservice call jquery”时的第一个热门话题,它可以为您提供更多信息:

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/您正在使用托管Web服务)。

首先,我不确定jquery中实现的跨站点ajax是否适用于所有浏览器(firefox 3)。 其次,我假设您正在谈论SOAP Web服务。 我宁愿不这样做。 实施起来会非常复杂。

这是一个例子:

$.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>

是否可以使用更好的方法:Jquery.getJSON?

请参阅: JQuery.getJSON

这提出了如何使用Web服务或类似机制输出符合JSON的数据的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM