gpt4 book ai didi

javascript - 对 WCF 服务的跨站点 ajax 调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:54 25 4
gpt4 key购买 nike

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

我不介意它是 POST 还是 GET。

但我听说最近,浏览器不允许使用 POST 或 GET 进行跨站点调用。

如何避免这种情况并仍然调用 WCF 服务

最佳答案

要绕过浏览器的跨站点脚本拦截器,您无能为力。这些阻止程序阻止 XMLHTTPRequest 发生在除加载包含脚本或页面的域之外的任何域中。

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

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

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

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

关于javascript - 对 WCF 服务的跨站点 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com