Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在开发中请求跨站点AJAX请求的替代方法_Angularjs_Cross Domain - Fatal编程技术网

Angularjs 在开发中请求跨站点AJAX请求的替代方法

Angularjs 在开发中请求跨站点AJAX请求的替代方法,angularjs,cross-domain,Angularjs,Cross Domain,AngularJS应用程序中从到的AJAX请求失败,因为浏览器不允许跨站点请求和浏览器显示: “不允许请求标头字段内容类型。” 访问控制允许标头。“ 但是有另外一种方法可以解决使用JSONP的问题,或者在服务器端编写额外的代码,但我不想在开发阶段这样做 在开发阶段(不是生产阶段),有没有其他方法可以在不进行任何服务器端配置的情况下跨站点编写额外代码?有一种纯javascript替代方法可以使用代理绕过此约束 它被称为XDomain: 步骤1:将此proxy.html文件放在服务器项目的根目录下

AngularJS应用程序中从到的AJAX请求失败,因为浏览器不允许跨站点请求和浏览器显示:

“不允许请求标头字段内容类型。” 访问控制允许标头。“

但是有另外一种方法可以解决使用JSONP的问题,或者在服务器端编写额外的代码,但我不想在开发阶段这样做


在开发阶段(不是生产阶段),有没有其他方法可以在不进行任何服务器端配置的情况下跨站点编写额外代码?

有一种纯javascript替代方法可以使用代理绕过此约束

它被称为XDomain:

步骤1:将此proxy.html文件放在服务器项目的根目录下:

<!DOCTYPE HTML>
<script src="//cdn.rawgit.com/jpillora/xdomain/0.7.3/dist/xdomain.min.js" master="*"></script>

步骤2:将此脚本添加到客户端:

<script src="//cdn.rawgit.com/jpillora/xdomain/0.7.3/dist/xdomain.min.js" slave="http://foo.com/proxy.html"></script>

就这样!
玩得开心。

最后,我发现另一种方法就是安装这个。不需要编写任何额外的代码。但是我不知道安全性是如何影响这个插件的。

是的!这很好,但仍然需要编写一些代码:)考虑到OP明确询问是否有其他方法可以在服务器端不进行任何配置的情况下进行跨站点访问,这似乎不是问题的实际答案,因为对于XDomain,您需要“在您希望与之通信的域上添加proxy.html”。如果您控制了要与之通信的域,可以将文件放在域中,您还可以将
.htaccess
文件放在域中,以发送所需的CORS头。所以基本上,XDomain只是想成为一种更方便的方式来处理服务器端,而不是在那里进行CORS配置。