编程语言
首页 > 编程语言> > javascript – 跨站点ajax调用WCF服务

javascript – 跨站点ajax调用WCF服务

作者:互联网

是否可以在Javascript中对WCF服务进行跨站点调用?

我不介意它是POST还是GET.

但我听说这些天浏览器不允许使用POST或GET进行跨站点调用.

我怎样才能绕过这个并仍然调用WCF服务?

解决方法:

你无法绕过浏览器的跨网站脚本拦截器.这些阻止程序阻止XMLHTTPRequest发生到任何域,但加载包含脚本或页面的域.

也就是说,有一个常用的解决方法:使用JavaScript在DOM中编写一个新条目,引用一个跨站点URL的src.您将所有RPC方法参数传递给此“脚本”,该脚本将返回将要执行的一些JavaScript,告诉您成功或失败.

没有办法以这种方式执行POST,src URL必须是GET,因此您可以通过这种方式传递参数.我不确定WCF是否有“仅限GET”访问方法.并且,由于浏览器希望远程标记的结果是有效的JavaScript对象,因此您必须确保您的WCF服务也遵守该标准,否则您将收到JavaScript错误.

绕过跨站点脚本的另一种常用方法是为您的请求编写代理.换句话说,如果要从example.com上托管的脚本访问域test.com,请在example.com上创建一些URL,以适当的方式将请求代理到test.com.

对于您的示例,假设WCF没有自己的跨站点脚本限制,代理可能是正确的答案.

标签:json,javascript,wcf,cross-site
来源: https://codeday.me/bug/20190716/1473564.html