從官方給出的渲染方案能看出,后端只是在頁面硬塞了數(shù)據(jù)及數(shù)據(jù)狀態(tài)進去,就效果而論渲染的工作還是前端負責,所以其他后端也能做到。具體看例子寫script標簽到頁面那段. vue的服務(wù)端渲染,
成都創(chuàng)新互聯(lián)公司主營西固網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應用開發(fā),西固h5微信平臺小程序開發(fā)搭建,西固網(wǎng)站營銷推廣歡迎西固等地區(qū)企業(yè)咨詢
最近做項目,需要用到vue,后臺是php,第一次使用axios進行請求,本以為同ajax一樣,會很簡單,但是結(jié)果往往不讓人滿意啊,get請求很簡單,這里就不說了,主要說下
post請求方式。
使用axios進行post請求,后臺居然接收不到數(shù)據(jù),這就納悶了,于是網(wǎng)上一頓搜索,現(xiàn)在將所用的解決辦法給大家說下:
1.new
URLSearchParams方式
起初使用params.append("屬性名":屬性值)的方式,對于簡單的數(shù)據(jù)傳遞這樣是沒有問題的,后臺可以正常接收數(shù)據(jù),但我發(fā)現(xiàn)一個問題,不知道大家有沒有遇到過,當傳遞數(shù)據(jù)里含有數(shù)組時,你會發(fā)現(xiàn)傳到后臺的是字符串的形式
arr:a1,b1,c1
而非正常格式
arr:[a1,b1,c1]不符合我的要求,繼續(xù)查找。
2.Qs.stringify方式
看到網(wǎng)上好多解決辦法都在說qs,于是裝了qs插件,使用方法也很簡單。首先安裝插件,然后注冊組件,axios.post(url,Qs.stringify(params)),在傳遞參數(shù)前,用qs轉(zhuǎn)換下格式就可以了,Qs是將對象
序列化成URL的形式,以進行拼接,在后臺輸出下接收的數(shù)據(jù),嘿有值了,別提有多高興了,剛樂呵沒二分鐘,等會再認真看看,這才發(fā)現(xiàn)當數(shù)據(jù)為空時qs居然給過濾掉了,直接沒傳,這叫一個傷心。。。
3.改變后臺接收方式
網(wǎng)上的帖子大部分都是在前端處理,但沒什么太好的解決辦法,于是把思路轉(zhuǎn)到后臺,改變后臺的接收方式,最終使用file_get_contents('php://input')解決。
以上這篇解決Vue
axios
post請求,后臺獲取不到數(shù)據(jù)的問題方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:詳解解決使用axios發(fā)送json后臺接收不到的問題axios向后臺傳遞數(shù)組作為參數(shù)的方法
不知你是否說的是 elment-ui框架的 el-upload 組件,如果是的話,可按如下步驟實現(xiàn):
首先在vue文件中定義一段 el-upload代碼段,如下圖:定義一個http-request屬性
el-upload上傳組件代碼
在http-request屬性中調(diào)用一個定義的方法,方法中執(zhí)行圖片上傳到php后端的操作,可以用 axios 調(diào)用php后端api執(zhí)行上傳,注意上傳文件之前要 new FormData(),因為是表單上傳,將文件 append到 formData中。
上傳組件調(diào)用方法
php后端接口就能接收到數(shù)據(jù)了,就可以用 $__FILE['filename'] 這樣的格式來接收到數(shù)據(jù)了
以上就是 el-upload組件和php進行交互的步驟,如果覺得有用請 采納并點個關(guān)注!
組件中,使用axios獲取到數(shù)據(jù)后怎么賦給到data中的數(shù)據(jù),響應式地更改視圖
script type="text/javascript"
import Vue from 'vue';
import VueResource from 'vue-resource';
Vue.use(VueResource);
export default {
data(){
return {
newslist:[]
}
},
created (){
this.$emit('viewIn',"購彩資訊");
this.$http.get('',{
params:{
num:10,
}
})
.then(
function(response){
console.log(response.body.newslist);//這里的數(shù)據(jù)沒錯
this.$set(this.newslist,response.body.newslist);
console.log(this.newslist);//這里還是undefined
},
function(response){
console.log("error")
}
)
}
}
/script
第一種:
比較常見的就是直接把字符串拼接,然后插入到元素中。
var?html=''?+?data.num?+?''?+?data.floor?+?''?+?data.name?+?''?+?data.money?+?'';
elem[removed]=html;
第二種:
與第一種大致,先創(chuàng)建對象,然后添加到外層對象中
node=document.createElement("LI"?textnode=document.createTextNode("Water""myList").appendChild(node);
第三種:
可以用網(wǎng)上mvvm框架,數(shù)據(jù)綁定比如:angular ,vue等 這里不舉例子了 哈哈
第四種:
模板的比如 (template.js)
[removed]????????????var?viewCommand?=?function()?{????????????????var?tpl?=?{
product:?["",????????????????????????"",????????????????????????"{#",????????????????????????""
].",????????????????????????"",????????????????????????#{##{##",????????????????????????"",
].
前端請求要么GET要么POST。
你在php里面獲取的話可以使用超全局變量: $_GET/$_POST。
根據(jù)對應的請求方式可以直接獲取到所有的請求數(shù)據(jù)。