使用在端口8080上运行的 GlassFish 服务器,我可以通过我的网络浏览器访问http://localhost:8080/ws/
。
但无法使用jQuery
,$.ajax
函数获取网页:
$.ajax({
url: "http://localhost:8080/ws/",
type: "GET",
success: function() {alert("good");},
error: function() {alert("error");}
});
每次都会显示一个带有“错误”的消息框。
以下是我使用firebug捕获的内容:
但响应标签没有显示任何内容:
有人能给我任何关于如何调试这个的建议吗?
注意:
error: function(request, status, error)
,但没有任何有用的内容。答案 0 :(得分:2)
您已经说过运行jQuery代码的页面来自“localhost:80
”,这意味着您正在遇到Same Origin Policy,这可以防止跨源的ajax调用。端口80和端口8080是SOP的不同来源。
为了完整起见,这里列出了两个来源必须相同的内容:
file:
与http:
与https:
等等。)localhost
,example.com
与sub.example.com
等。)原点与文档(包含脚本标记的HTML文件)匹配,而不是脚本文件本身的位置。