【问题标题】:have problem with axios on two sequential request在两个顺序请求上遇到 axios 问题
【发布时间】:2019-08-02 00:10:51
【问题描述】:

当两个顺序请求发送和第二个请求出错时我遇到问题 --> 错误:“网络错误” 例如:

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

【问题讨论】:

  • 你到底在问什么?
  • 我该如何解决这个问题?我的问题是什么?我看到了同样的问题,但没有给我写信息@treyBake
  • 我们如何在没有看到代码触发的情况下知道?不幸的是,SO 不是心灵感应(虽然那会很酷)
  • @treyBake 我编辑我的队列

标签: php vue.js axios


【解决方案1】:

我找到了解决方案 我在我的 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2018-08-02
    • 2018-12-26
    • 2016-02-24
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多