Dojo.toJson()方法返回“null”字符串

时间:2012-05-11 10:44:28

标签: dojox.grid dojox.grid.datagrid dojo

这里我们使用dojo.toJson将dijit.form.TextBox转换为json格式。没有任何输入它返回“null”,我们期望它是“”。

源代码如下:

// 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 code

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 道场版本:1.7

1 个答案:

答案 0 :(得分:0)

""null"" console.log"null"

输出不是""极端的第一个和最后的极端引号""

和是null是一个空字符串,它是一个字符串对象,与{{1}}不同。