Метод Dojo.toJson() возвращает "нулевую" строку

Здесь мы конвертируем dijit.form.TextBox в формат json, используя dojo.toJson. Без какого-либо ввода он возвращает "ноль", который мы ожидаем, чтобы быть "".

Исходный код выглядит следующим образом:

// код aspx

<input id="name" data-dojo-type="dijit.form.TextBox" data-dojo-props="name:'name'" />
<button id="submitButton" data-dojo-type="dijit.form.Button" type="button">
    submit</button>

// код js

define("views/Test", [
    "dojo",
    "dojo/parser",
    "dijit/form/Form",
    "dijit/form/TextBox",
    "dijit/form/Button"
], function () {
    dojo.declare("views.Test", null, {

        onSubmitClick: function () {
            var jsonData = dojo.toJson(dijit.byId("name").get("value")); // here: dijit.byId("name").get("value") is "" and jsonData is ""null""
        },

        startup: function () {
            dojo.connect(dijit.byId("submitButton"), "onClick", this, this.onSubmitClick);
        }
    });
    return views.Test;
});

есть ли разница между следующими двумя? так как результат совсем не тот

dojo.toJson("") // returns """" 
dojo.toJson(dijit.byId("XXX").get("value")) //returns ""null""

Информация о среде: IE 8 Dojo Версия: 1.7

1 ответ

Выход не ""null"" крайние первые и крайние последние цитаты помещены console.log это "null" а также ""

и да "" является пустой строкой, которая является строковым объектом и отличается от null,

Другие вопросы по тегам