我正在向我的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的细微之处吗?
答案 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"
希望这对某人有帮助!