在这里我们使用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>
代码
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
输出不是""null""
极端的第一个和极端的最后一个引号是按console.log
放置的,这些引号是"null"
和""
和是的""
是一个空字符串,它是一个字符串对象,与null
不同。