是否可以从本地 html/js 文件(例如 file://home/a.html)到远程服务器(例如使用 jQuery.ajax() )进行 AJAX 调用(例如使用 jQuery.ajax() )http://域名:8080/api)?如果是,如何启用此类 XSS(例如在 FF3 中)?
我想这是一些浏览器的安全设置,但找不到哪些。
假设有一个答案,无需任何服务器端更改(例如 JSONP)。
Thanks.
代码片段:
function foo(){
$.ajax({
type: "POST",
url: "http://localhost:8080/api",
data: "Hello world",
success: function (data, textStatus, XMLHttpRequest) {
alert(data);
alert("success!");
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("fail");
}
});
}
...
...
<button onclick="foo()">click me</button>
我得到“成功”但数据为空。
不幸的是,没有其他方法,只能使用两种方法之一:前面的答案中所述的 JSONP 或CORS。两者都需要服务器端更改。如果您需要旧版浏览器的支持,JSONP 会更好,但 CORS 显然更干净,并且可能不需要更改服务器端脚本,修改服务器配置就足够了。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)