是否可以在
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没有自己的跨站点脚本限制,代理可能是正确的答案.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。