我是新手:)
我搜索了我的问题,有一些话题,但它们不像我的具体问题。
我有一个更新表单的Ajax调用,我可以看到console.log()
中的值,但我不能在输入或div中取值insert,这里是我的代码:
$(document).ready(function() {
$.ajax({
type: "GET",
url: 'my-web-service',
dataType: "text",
success: function(data) {
console.log(data)
var json = $.parseJSON(data);
for (var i = 0; i < json.length; ++i) {
$('#json').append('<div>' + json[i].name + '</div>');
}
console.log(json)
}
});
});
我的JSON数据是:
{
"experience": [
[
"58b407cd30f8c7a508004210",
{
"artistInfo": {
"id": "f8d3a411",
}
},
{
"name": "test",
"description": "testing",
"tipology": null,
"email": "ext_link",
"externalLink": "www.mywebstite.com",
}
]
]
}
答案 0 :(得分:1)
经验是数组中的数组(???), 您应该修复它或相应地访问它。
答案 1 :(得分:0)
看起来,如果你可以在控制台日志中看到json,那么可能是数据类型的问题,你确定它是一个数组吗?
json[i].name
这可能是一个对象,不能作为数组访问。检查dataType。或发布WS的输出
阅读完你的数据后非常清楚你试图以错误的方式访问它,它作为一个数组,你的第一个条目是一个String,然后是一个没有属性名称的Object,最后是第三个对象我想你想要得到这个名字。
json['experience'][2].name
{
"experience":[
[
"58b407cd30f8c7a508004210",
{
"artistInfo":{
"id":"f8d3a411",
}
},
{
"name":"test",
"description":"testing",
"tipology":null,
"email":"ext_link",
"externalLink":"www.mywebstite.com",
}
]
]
}
答案 2 :(得分:0)
我更喜欢删除你的dataType条件,将类型更改为POST(当你发送一些数据时需要它)并跳过你的JSON解析器,它已被解析并抛出异常。
$(document).ready(function() {
$.ajax({
type: "POST",
data: { }, // when you need it
url: 'my-web-service',
success: function(json) {
console.log(json)
for (var i = 0; i < json['experience'].length; ++i) {
for (var i2 = 0; i2 < json['experience'][i].length; ++i2) {
if( json['experience'][i][i2].name ) {
$('#json').append('<div>' + json['experience'][i][i2].name + '</>');
}
}
}
}
});
});