symfony2 上的 AJAX 跨域

Posted

技术标签:

【中文标题】symfony2 上的 AJAX 跨域【英文标题】:AJAX Cross-domain on symfony2 【发布时间】:2016-09-27 12:40:45 【问题描述】:

我正在使用 Symfony2 和 React 构建一个应用程序。目前我正在尝试通过 AJAX 调用将数据提取到反应前端。无论我以后决定什么,我都需要知道如何配置路由或其他任何东西,以便能够进行跨域 AJAX 调用,即使是出于开发目的。我尝试更改 config.yml 中的 truste_host,在路由中添加主机参数,但似乎没有任何效果。我怎样才能让跨域工作简单,没有任何开销捆绑?

我在 192.168.11.128:8000 虚拟机上有 Symfony2 应用程序,可通过浏览器和来自 http://127.0.0.1 的 AJAX 调用访问,我无法得到答案,我真的需要这些域不同。

谢谢

【问题讨论】:

【参考方案1】:

服务器的响应需要有标题Access-Control-Allow-Origin(More info here)。 作为带有值 * 的 Symfony2 控制器响应示例(允许任何来源访问资源。),您可以按如下方式构建响应:

    return new JsonResponse($data, 200, array('Access-Control-Allow-Origin'=> '*'));

希望有帮助

【讨论】:

以上是关于symfony2 上的 AJAX 跨域的主要内容,如果未能解决你的问题,请参考以下文章

CORS - 没有 JSONP 的跨域 AJAX 通过允许服务器上的 Origin

AJAX跨域

Symfony 2.3 Bad Credentials 自定义提供程序

在 iframe 内容中发出跨域 ajax 请求是不是可行?

JavaScript之Ajax-7 Ajax跨域请求(Ajax跨域概述Ajax跨域实现)

ajax跨域方法