我正在尝试将JSON对象从子组件传递给父组件,但是某些东西没有像我期望的那样工作:
当我尝试阅读父javascript函数的适当性时,它会返回[Object object]
我不知道如何阅读整个JSON,考虑在子组件中JSON是我期望的。
这里是我的子组件函数(在METHODS中):
sendAllSteps : function(uscita){
//"uscita" is the json object
this.$emit('mandapreventivo',{uscita});
return;
},
index.html中的
<lista-percorso :selezionati="il_tuo_percorso"
v-on:removeall="pathlengthTozero()"
v-on:vediservizi="mostraPercorso2"
v-on:rimuoviprezzo="priceremove($event)"
v-on:rimuoviprezzoparent="priceparentremove($event)"
v-on:mandapreventivo="postaTutto($event)"
></lista-percorso>
main.js中的
postaTutto : function({uscita}){
console.log("dati uscita "+ `${uscita}`);
console.log(this.modello.lineaGialla);
console.log(JSON.stringify(`${uscita}`));
var exit = `${uscita}`;
alert(exit);
alert(exit[0].length);
alert(JSON.stringify(`${uscita}`));
var exit2 = exit.toString(`${uscita}`);
alert(exit2);
//this return to me [object Object]
this.isLoading=true;
var config = {dataType: "jsonp"};
axios.post(
'url.something',
//invia,
{'serviziSelezionati':`${uscita}`},
config
)
.then(function (response) {
this.isLoading=false;
var risposta = JSON.stringify(response.data);
console.log(risposta);
alert("grazie per aver compilato il form!");
return;
})
.catch(function (error) {
this.isLoading=false;
console.log(error);
alert("qualcosa è andato storto");
return;
});
},
现在,我真的不知道如何查看$ {uscita}对象,当我发布数据时,有一个PHP编译器解释JSON并分配似乎空白的值
有人已经有这个问题吗? 提前谢谢。
答案 0 :(得分:1)
问题出在这里。
var exit = `${uscita}`;
此代码采用uscita
对象并基本上对其执行toString()
,从而产生“[object Object]”。
这一行:
var exit2 = exit.toString(`${uscita}`);
不做任何事。 exit
已经是一个字符串,toString()
不带任何参数。结果与exit
,“[object Object]”中的值相同。
“[object Object]”是随时对对象执行toString()
的结果。
我希望您想要的提交uscita
对象,您应该可以这样做:
axios.post("url.something", {'serviziSelezionati': uscita}, config)
Axios会根据需要将数据转换为JSON。
此外,您正在进行一些不必要的解构。只需传递uscita
对象:
this.$emit('mandapreventivo', uscita)
这意味着你的方法可以只是
postaTutto : function(uscita){...}