Axios ajax 有时 html 调用 returns
Axios ajax call returns sometimes html
在 Vue.js 2
中,我正在使用 axios 进行 ajax 调用。一切正常。但是,当我再翻一页然后返回到 ajax 调用时,ajax突然调用returnshtml所以没有jsonobjects。
这里可能发生了什么?当我在邮递员中测试 url 时,我也会收到 json 吗?
我的 back-end 是用 laravel 5.5 制作的。
Html 回复:
<!DOCTYPE html>\n<!--[if IEMobile]><html class=\"no-js iemobile\" lang=\"nl\"><![endif]-->\n<!--[if lt IE 7 ]><html class=\"no-js ie6\" lang=\"nl\"><![endif]-->\n<!--[if IE 7 ]><html class=\"no-js ie7\" lang=\"nl\"><![endif]-->\n<!--[if IE 8 ]><html class=\"no-js ie8\" lang=\"nl\"><![endif]-->\n<!--[if IE 9 ]><html class=\"no-js ie9\" lang=\"nl\"><![endif]-->\n<!--[if (gte IE 9)|!(IE)]><!--><html class=\"no-js\" lang=\"nl\"><!--<![endif]-->\n<head>\n\t<!-- Google Tag Manager -->\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','GTM-TP9MVZN');</script>\n<!-- End Google Tag Manager -->\n <meta data-required=\"true\" http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n\n<title>Televisies </title>\n\n<meta d…", status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
Vue.js 代码如下所示:
Axios.get(url, { params: params }).then((response) => {
console.log(response);
});
在我的 app.js 文件中,我这样设置 header:
Axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
谢谢
我遇到了同样的问题并找到了解决方案。 Rails 正在缓存页面以减少返回时的请求量。
要禁用此行为,请参阅this post
在 Vue.js 2
中,我正在使用 axios 进行 ajax 调用。一切正常。但是,当我再翻一页然后返回到 ajax 调用时,ajax突然调用returnshtml所以没有jsonobjects。
这里可能发生了什么?当我在邮递员中测试 url 时,我也会收到 json 吗?
我的 back-end 是用 laravel 5.5 制作的。
Html 回复:
<!DOCTYPE html>\n<!--[if IEMobile]><html class=\"no-js iemobile\" lang=\"nl\"><![endif]-->\n<!--[if lt IE 7 ]><html class=\"no-js ie6\" lang=\"nl\"><![endif]-->\n<!--[if IE 7 ]><html class=\"no-js ie7\" lang=\"nl\"><![endif]-->\n<!--[if IE 8 ]><html class=\"no-js ie8\" lang=\"nl\"><![endif]-->\n<!--[if IE 9 ]><html class=\"no-js ie9\" lang=\"nl\"><![endif]-->\n<!--[if (gte IE 9)|!(IE)]><!--><html class=\"no-js\" lang=\"nl\"><!--<![endif]-->\n<head>\n\t<!-- Google Tag Manager -->\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','GTM-TP9MVZN');</script>\n<!-- End Google Tag Manager -->\n <meta data-required=\"true\" http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n\n<title>Televisies </title>\n\n<meta d…", status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
Vue.js 代码如下所示:
Axios.get(url, { params: params }).then((response) => {
console.log(response);
});
在我的 app.js 文件中,我这样设置 header:
Axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
谢谢
我遇到了同样的问题并找到了解决方案。 Rails 正在缓存页面以减少返回时的请求量。
要禁用此行为,请参阅this post