使用 vue-resource 如何解决跨越请求

在使用 vue-resource post 到别的站点时,提示如下的错误:

Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

网上搜了下,这属于跨域请求的问题,请问需要怎么解决?

JellyBool

如果是别人的站点,你无权操作服务器的话,这个就比较难了吧。

TonyWang 回复 JellyBool

自己的,要怎么处理

JellyBool 回复 TonyWang

你可以写一个 middleware 来实现针对某个特定域名的实现,说到底就是在 header 允许某个特定域名,或者你直接使用下面的 package:

https://github.com/barryvdh/laravel-cors

imaze

我用了JellyBool推荐的package依然报楼主同样的错,不知道楼主的问题解决了没?怎么解决的??

colder 回复 imaze

这个问题我解决了,首先你要使用laravel-cors包并正确配置,如果你要支持跨域的cookie,还要配置supportsCredentials = true,且ajax也要配置,可参阅:http://www.cnblogs.com/Brose/p/cors_ajax_withCredentials_firefox.html,
最后,如果还不行,那就配置nginx,参阅:http://www.ttlsa.com/nginx/how-to-allow-cross-domain-ajax-requests-on-nginx/

colder

这个问题我解决了,首先你要使用laravel-cors包并正确配置,如果你要支持跨域的cookie,还要配置supportsCredentials = true,且ajax也要配置,可参阅:http://www.cnblogs.com/Brose/p/cors_ajax_withCredentials_firefox.html,
最后,如果还不行,那就配置nginx,参阅:http://www.ttlsa.com/nginx/how-to-allow-cross-domain-ajax-requests-on-nginx/