-1
我使用Fancytree,我正在使用ExtEdit extension創建一個新節點。該節點的標題(正文)似乎設置正確,但該值在兩個console.log()
語句之間始終發生變化,並且將錯誤的值發送到服務器。在兩個console.log()行之間改變的Javascript變量值
這是怎麼回事?這讓我難以置信。
Here'sFancytreeNode
API。
這是我使用的全功能:
function createNode(data) {
console.log('this is the data object');
console.log(data);
console.log('this is data.node.title');
console.log(data.node.title);
$.ajax({
method: 'post',
data: {
name: data.node.title,
parentId: data.node.parent !== undefined ? data.node.parent.key : null
},
url: '/my/url'
}).success(function (thisData, status, jqXHR) {
data.node.key = thisData.id;
});
}
這是輸出。請注意0與衆不同。
Console.log需要引用,因爲data是一個對象,而data.node.title是一個字符串。要知道確切時間的值,請克隆它(可以使用toJSON(stringify)) – Nevosis
@Nevosis,它是'JSON.stringify(data)'。 –
@Nevosis對不起,我不太明白。我從來沒有遇到過這樣兩個不同的問題。我以爲console.log只是輸出當前存在的對象/字符串。我不明白爲什麼'JSON.stringify(data)'會返回一個不同的值。 – vaindil