小编典典

从本地JavaScript代码到远程服务器的AJAX调用

ajax

是否可以从本地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>

我正在“成功”但数据为空。


阅读 275

收藏
2020-07-26

共1个答案

小编典典

不幸的是,没有其他方法,只能使用以下两种方法之一:先前答案中所述的JSONP或CORS。两者都需要服务器端更改。如果需要较旧的浏览器支持,则JSONP更好,但是CORS显然更清洁,并且可能不需要更改服务器端脚本,因此修改服务器配置就足够了。

希望这可以帮助。

2020-07-26