我想对不同的服务器(相同的域和框,只是不同的端口)进行 ajax 调用。例如
我的页面是
http://localhost/index.html
我想发出 ajax get 请求:
http://localhost:7076/?word=foo
我收到此错误:
拒绝访问受限 URI (NS_ERROR_DOM_BAD_URI)
我知道你不能向不同的域发出 ajax 请求,但似乎这也包括不同的端口?有什么解决方法吗?
我想对不同的服务器(相同的域和框,只是不同的端口)进行 ajax 调用。例如
我的页面是
http://localhost/index.html
我想发出 ajax get 请求:
http://localhost:7076/?word=foo
我收到此错误:
拒绝访问受限 URI (NS_ERROR_DOM_BAD_URI)
我知道你不能向不同的域发出 ajax 请求,但似乎这也包括不同的端口?有什么解决方法吗?
有某个页面在你的 80 端口服务器代理请求到另一个端口。例如:
http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo
请注意最后一个查询字符串参数值的 url 编码。
您可以使用 JSONP。这是您为请求指定回调的地方,来自您的 ajax 请求的响应将使用回调函数名称包装。不是使用 XmlHttpRequest,而是使用 URL 将标签插入到 HTML 文档中。然后,当检索到响应时,将调用回调函数,将数据作为参数传递。
查看此博客文章以获取示例
这是浏览器限制。所有 javascript 调用都必须指向脚本所在的同一服务器和端口。这将需要一些服务器端的东西来解决。IElocalhost
将请求转发到localhost:7076
.
这很糟糕,但这是必要的......基本上你需要做的是通过本地代理代理你的 AJAX 请求 - 一些服务器端脚本/页面/你所在的同一域上的任何内容 - 接听电话并将其转发到其他资源服务器端。您可能可以使用一些 IFRAME 技巧,但我认为它们效果不佳......不过可能是错误的,已经有一段时间了。