0
- 我有一個Vue.js CLI項目工作。
- 它通過AJAX從Apache服務的本地主機端口8080訪問數據。
- 當我構建項目並將其複製到Apache提供的文件夾後,它可以正常工作,並且可以通過該服務器上的AJAX訪問數據。
- 但是,在開發過程中,由於Vue.js CLI網站由服務於不同端口(8081)的Node.js服務,我得到了跨站點腳本錯誤),並且希望避免跨站點腳本一般來說。
什麼是我可以模擬提供的數據的方式,例如, Vue.js-CLI項目中的某種服務器腳本可以在開發過程中爲端口8081上的AJAX調用提供模擬數據,從而避免所有跨站點腳本問題?現在如何在Vue.js-CLI項目中爲AJAX調用提供數據?
dev: {
env: require("./dev.env"),
port: 8081,
autoOpenBrowser: true,
assetsSubDirectory: "static",
assetsPublicPath: "/",
proxyTable: {
"/api": {
target: "http://localhost/data.php",
changeOrigin: true
}
},
而且使我的AJAX調用是這樣的::
附錄
在我config/index.js
文件,我添加了一個proxyTable
axios({
method: 'post',
url: '/api',
data: {
smartTaskIdCode: 'activityReport',
yearMonth: '2017-09',
pathRewrite: {
"^/api": ""
}
}
但現在我在我的JavaScript看到控制檯:
個Error: Request failed with status code 404
附錄2
表觀愛可信與重新路由的問題,所以我VUE資源嘗試過,但這段代碼顯示錯誤:
var data = {
smartTaskIdCode: 'pageActivityByMonth',
yearMonth: '2017-09'
}
this.$http.post('/api', data).then(response => {
this.pageStatus = 'displaying';
this.activity = response.data['activity'];
console.log(this.activity);
}, response => {
this.pageStatus = 'displaying';
console.log('there was an error');
});
定義一個環境變量我(在我的崗位細節以上)增加了proxyTable在我的'配置/ index.js'文件,但現在我得到的消息'錯誤:請求失敗,狀態碼404'。我需要改變什麼? –
axios中的pathRewrite看起來不對。因爲這發生在請求「離開瀏覽器」之前,所以你的devserver現在接收到一個POST請求給'/',而不是'/ api',所以proxyTable不生效 - 因此,你得到一個404 –
是的,我閱讀axios有這個問題。我實現了vue-resource(上面的代碼),但它沒有獲取數據,它似乎正在訪問服務器。你看到問題是什麼? –