在使用axios時post一般都會遇到跨域問題的,解決跨域除了后端外前端也需要引入qs包
this.$http.post(url, qs.stringify({ myfile:postAjaxJson }),{ headers: { "Content-Type": "application/x-www-form-urlencoded" } } // {id:1} ) .then(function (res) { // console.log(postAjaxJson) console.log(res); }) .catch(function (error) { console.log(error); });
但是解決跨域后,打印會發現postAjaxJson 所有字段都變成了字符串雙引號格式。
如果后端需要你發送的字段中有int類型,這時候需要在發送前解析成int,默認還是會被解析走
解決方法時需要在發送前-這個時候處理數據是專門發送后端的數據而不要改變渲染頁面的數比如ajaxlist
使用JSON.stringify(json)即可
postAjaxJson = JSON.stringify(postAjaxJson) this.$http.post(url, qs.stringify({。。。
注意:后端接收到的會是/n /""..格式的會獲取到int,但是需要解碼 不然后端直接存入數據庫后,這里再獲取就不是之前的json數據了,容易導致保存成功再次獲取卻解析不到頁面失敗