Javascript 无法在json响应的输入字段中设置文本
我有一个表单,在javascript中从httpGet获得json对象后,我必须在其中填充数据Javascript 无法在json响应的输入字段中设置文本,javascript,jquery,json,Javascript,Jquery,Json,我有一个表单,在javascript中从httpGet获得json对象后,我必须在其中填充数据 $("#getDetails").click(function() { $.get("/servlet",{ mID : 5 }) .done(function(data) { $("#input1").val(data["some key"]); $("#input2").val(data.name); $("#
$("#getDetails").click(function() {
$.get("/servlet",{
mID : 5
})
.done(function(data) {
$("#input1").val(data["some key"]);
$("#input2").val(data.name);
$("#input3").val("directvalue");
});
});
在上述3个字段中,只有input3使用directvalue填充
访问json对象或设置输入字段的值时是否存在问题
注意:json对象包含带有空格的键,如some key:some value
编辑:
当我尝试Object.keysdata[index]访问对象字段时,我得到了未捕获的TypeError:Object.keys在非对象上被调用
$("#getDetails").click(function () {
$.get("/servlet", {
mID: 5 })
.success(function (data) {
$("#input1").val(data.d.somekey);
$("#input2").val(data.d.name);
$("#input3").val("directvalue");
});
});
在注释中,您说它正在返回此对象:
{
"Name": "my name",
"my address": "23,round street",
"Description": "PM Speech at Red Fort on Indep Day 2014"
}
尝试:
当我执行console.outdata时,它正在打印一个json对象
但当我尝试Object.keysdata[index]访问对象字段时,我得到了未捕获的TypeError:Object.keys在非对象上被调用
这意味着数据本身不是json对象
所以我得到一个提示,服务器给出了一个写json对象的字符串。我必须简单地从数据字符串解析json对象
以下是工作代码:
$("#getDetails").click(function() {
$.get("/servlet",{
mID : 5
})
.done(function(data) {
var dataObj=JSON.parse(data);
$("#input1").val(dataObj["some key"]);
$("#input2").val(dataObj.name);
});
});
您从数据中获得了什么价值?放置警报和检查您可以显示服务器端代码填充与Neel商定的对象,但如果您在Chrome中,请尝试控制台。logdata@Vishal-试试这个“$input2.valdata.d.name”`你检查过大写字母了吗?data[name]可能返回未定义的,但data[name]不能返回。@vishal-不能在属性中使用空格。这是一个变量或属性你能告诉我类或服务器端的代码是如何填充对象的吗;我还用java为android实现了客户端代码。在那里它工作得非常好。@vishal-你能不能把服务器端代码放在这里,这样我们就能更好地帮助你。。。。。如何从服务器端编码填充数据对象。我的地址如何?@Jayanth data[我的地址]
$("#getDetails").click(function() {
$.get("/servlet",{
mID : 5
})
.done(function(data) {
var dataObj=JSON.parse(data);
$("#input1").val(dataObj["some key"]);
$("#input2").val(dataObj.name);
});
});