jQuery可以使用,但Axios不能使用

时间:2018-06-25 09:21:23

标签: javascript jquery get axios

我正在向我的PHP BE发送一个简单的get请求,这些分别是我在jQuery和Axios中的请求:

$.ajax({
  url: "/?do=vueTestComponent-ReloadTime",
  success: (data) => console.log(data)
});

Vue.axios.get("/?do=vueTestComponent-ReloadTime").then((response) => {
  console.log(response)
})

jQuery正确返回并以代码200结尾的地方,而Axios错误地返回并以代码302结尾的地方。

这就是我加载jQuery的方式:

<script src="{$basePath}/components/tinymce/tinymce.jquery.min.js" type="text/javascript"></script>

这是将axios加载到Vue项目的main.js文件中的方式:

import axios from 'axios'
import VueAxios from 'vue-axios'

jQuery的解析速度也更快。

我不知道我在做什么错,他们应该都一样。是jQuery / Axios的细微之处吗?

2 个答案:

答案 0 :(得分:0)

axios默认在跨站点时发送cookie,这可能是响应302的原因。

请参见@Value("${version}")选项:How to Perform Distributed Testing in JMeter

withCredentials

答案 1 :(得分:0)

最后我发现,我需要在axios defaults中指定我的请求是XMLHttpRequest

因此,我为实际上为XMLHttpRequest的请求实例创建了一个全局变量,现在的设置如下所示:

window.axios_instance = Vue.axios.create({
  baseURL: '/'
});

window.axios_instance.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"

希望这对某人有帮助!