每次都必须按 CTRL+f5 才能点击 api.如果不按它,就会弹出跨源请求阻止错误
Have to press CTRL+f5 everytime to hit api. Without pressing it, cross origin request blocked error popped up
我是angularJS的初学者。
我试图从angularJS应用程序中的API(CakePHP)获取数据。我有一个名为"获取"的菜单。只需单击"获取"菜单,它就会被重定向到"获取数据"页面,但控制台中弹出'Network Error. Cross Origin Request Blocked'
错误,数据不会加载。但是,如果我在"fetchData"页面中按Ctrl+f5
,它可以工作,并且数据会成功加载到页面上,而不会出现网络问题。
蛋糕 php 中的 .htaccess 文件是这样的:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
SetEnvIf Origin "^http(s)?://(.+'.)?(my_url.com)$" origin_is=$0
Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is
Header set Access-Control-Allow-Credentials: true
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin,Authorization, authtoken, Accept"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
</IfModule>
我不知道问题是客户端还是服务器端。任何建议都将是可观的。
请尝试在该 php 文件中使用此代码。
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
cakephp 3.2 有 CorsBuilder 这是我的使用示例
$this->response
->cors($this->request)
->allowOrigin(['http://localhost:8100'])
->allowCredentials(TRUE)
->allowMethods(['GET', 'POST'])
->exposeHeaders(['Link'])
->maxAge(300)
->build();
相关文章:
- 遇到400错误请求(Angular+WebAPI)的问题
- 向Yahoo Finance API发出JSONP请求时获得400错误请求
- 尝试发布大型JSON数据时出现错误请求错误
- AWS API网关返回400错误请求,但Postman工作正常
- AngularJS错误:请求的键的值不是对象.keys@[本地代码]
- 岗位http://localhost:3000/api/signup400(错误请求)
- 云蚁发布错误请求
- Django Ajax 调用返回 403 错误请求
- 仅在 IE 中使用 jQuery 发布数据时出现错误请求错误
- angularjs中的POST 400错误请求
- RegEx导致无限循环/错误-请求的实体太大
- 400错误请求仅使用AngularJs,与jQuery一起使用
- 在jquery ajax POST中获取400(错误请求)错误
- GET 400(错误请求)与 js 中的节点
- Jasmine - Ajax Spyon 错误请求
- Gmail API 返回 400 个带有批处理请求的错误请求
- 一个控制器中的多个路由会导致 400:错误请求
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 将 png 图像从 JavaScript 传递到 PHP(错误:请求 URI 太大)
- ajax post 调用导致将数组发送到弹簧休息控制器时出现 400(错误请求)