DOM中的JSON字符串与chrome控制台中的对象不匹配?

时间:2016-10-20 21:05:39

标签: javascript json

我正在做类似以下的事情:

var car = {'make':'honda'};

console.log(car);

car.model = 'civic';

$('#car').text(JSON.stringify(car));

console.log(car);

当我打开开发者控制台并输入car时,我只看到:

{make: "honda"}

如果我console.log(car),我会看到:

{make: "honda", model: "civic"}

在Chrome控制台中输入更新的对象时,我的原因是什么?

如果我输入JSON.parse($('#car').text()),我会看到整个对象。这是我必须这样做的吗?

更新示例:

在jquery ajax成功回调中发生以下情况:

var localClientStorage = window.localStorage;

var car= localClientStorage.getItem("car");

car = JSON.parse(car);

car.model= 'civic';

localClientStorage.setItem("car", JSON.stringify(car));

当我在控制台中输入汽车时,模型属性不存在。

function getCarModel(make) {

    $.ajax({
        url: '/Car/GetModel',
        async: true,
        type: "POST",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify({ make: make })

        success: function (data) {

                    var localClientStorage = window.localStorage;

                    var carObject = localClientStorage.getItem("car");

                    carObject = JSON.parse(carObject );

                    carObject.model = data.Car.Model;


                    localClientStorage.setItem("car", JSON.stringify(carObject));

             $('#carObject').text(JSON.stringify(carObject));

                    localClientStorage.removeItem("car");

            } 
    });
};

0 个答案:

没有答案