是否可以从本地html / js文件(例如file://home/a.html)向远程服务器(例如http:// domain:8080 / api)进行AJAX调用(例如,使用jQuery.ajax()))?如果是,如何启用这种XSS(例如在FF3中)?
我想这是某些浏览器的安全设置,但是找不到哪个。
并假设有一个没有任何服务器端更改(例如JSONP)的答案。
谢谢。
程式码片段:
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显然更清洁,并且可能不需要更改服务器端脚本,因此修改服务器配置就足够了。
希望这可以帮助。