php - 在两个顺序请求上遇到 axios 问题
问题描述
当两个顺序请求发送并且第二个请求出错时我遇到问题 - >错误:“网络错误”例如:
OPTION : /meal/get 200 success
GET: /meal/get 200 success
OPTION: /message/get 200 get
dont send GET :/message/get
并显示错误
我检查了 OPTIONS 的标题响应:第一个选项的响应部分是真的,但第二个是错误的
我使用 php 作为我的后端,并且所有部分都真正工作
全局配置文件:
axios.defaults.headers.get['Accept'] = 'application/json'
axios.defaults.headers.common['Content-Type'] = 'application/json'
这是我的代码
axios({
method: 'get',
url: '/message/index',
data: {},
params: {
page: page
}
}).then(res => {
响应头:
Access-Control-Allow-Credentials true
Access-Control-Allow-Headers Origin, Accept, Content-Type, …, X-GR- Token, Accept-Language
Access-Control-Allow-Methods GET,POST,OPTIONS
Access-Control-Allow-Origin *
Access-Control-Expose-Headers X-Access-Token, X-Refresh-Toke…nation-Total-Count, X-Payload
Connection Keep-Alive
Content-Length 0
Content-Type text/html; charset=UTF-8
Date Mon, 11 Mar 2019 16:00:22 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.4.27 (Win64) PHP/7.1.9
Status 200 OK
X-Powered-By PHP/7.1.9
不同组件中的每个请求
axios({
method: 'get',
url: '/meal/suggest',
data: {},
params: {}
}).then( res => {
console.log(res)
// this.rightSideData = res.data
}).catch(err => {
console.log(err)
console.log(err.response.data)
})
此请求的标头响应:
Connection Keep-Alive
Content-Length 876
Content-Type text/html; charset=UTF-8
Date Mon, 11 Mar 2019 16:00:23 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.4.27 (Win64) PHP/7.1.9
X-Powered-By PHP/7.1.9
解决方案
我找到了我在 php phalcon 中设置标题的解决方案,它是对第一个请求的响应,但如果我同时发送两个请求,它只回答其中一个,第二个 borken
我搜索了很多并了解我也将标头放入 .htaccess 这是我的代码:
#Header set Content-Security-Policy "default-src 'self';"
Header always set Access-Control-Allow-Origin "http://localhost:8080"
Header always set Access-Control-Allow-Headers "Content-Type, Accept-Language, X-Access-Token, X-Client-Id, X-Secret-Id, X-GR-Token"
Header always set Access-Control-Allow-Methods "GET,POST,OPTIONS"
Header always set Access-Control-Expose-Headers "X-Access-Token, X-Refresh-Token,X-Access-Token-Expire, X-Pagination-Current-Page, X-Pagination-Page-Count,X-Pagination-Per-Page, X-Pagination-Total-Count, X-Payload"
Header always set Access-Control-Allow-Credentials "true"
推荐阅读
- c# - 在 Selected 事件之后访问 SQLDataSource 数据
- javascript - 将类型文件的输入更改为图标 - 如何删除路径预览并更改样式?反应,JS
- c# - 是否有一种有效的方法可以使用 Entity Framework Core、通用方法和复合键将本地数据集软同步到 SQL Server 表?
- prometheus - 转换 Grafana Label 并在 prometheus 查询中使用
- android - 井字游戏按钮阵列横向重力不起作用
- php - 在 SELECT 语句之后标记所有选定的列
- ios - iOS Core Data 和标准差 NSExpression 崩溃
- typescript - 在 Typescript 中使用 switch 获取函数的安全值
- windows - 为什么在 Windows 文件系统中需要 LCB(链接控制块)?
- ios - DevOps 构建管道,用于 Xamarin.iOS 找不到任何可用的配置文件