嘿,我在stackoverflow上发帖了。
我有一个提供json的小型Web服务。
{
"status": 1,
"info": [{
"URLREST": 0,
"URLGEPLANT": 0,
"URLGESAMT": 35
}],
"anwesend": "Name 1#Name 2#Name 3#Name 4#"
}
在我的JavaScript中,我遇到语法错误。如何查明错误是在我的Json还是我的JQuery代码中?
错误:语法错误,无法识别的表达式:名称1#名称2#名称3#名称4#
的jquery-3.2.1.min.js:2:13370
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
$(data.info).each(function(index,value) {
document.getElementById('URLREST').innerHTML = value.URLREST;
document.getElementById('URLGEPLANT').innerHTML = value.URLGEPLANT;
document.getElementById('URLGESAMT').innerHTML = value.URLGESAMT;
});
$(data.anwesend).each(function(index,value) {
document.getElementById('anwesend').innerHTML = value;
});
}
});
答案 0 :(得分:1)
因为" anwesend"的最后一个值:"名称1#名称2#名称3#名称4#" 是字符串。
但是你已经应用了$ .each方法
$(data.anwesend).each(function(index,value) {
document.getElementById('anwesend').innerHTML = value;
});
超过无效的字符串。
如果您想循环播放' anwesend'然后你必须通过api发送数组
{
"status": 1,
"info": [{
"URLREST": 0,
"URLGEPLANT": 0,
"URLGESAMT": 35
}],
"anwesend": ["Name 1","Name 2","Name 3","Name 4"]
}
答案 1 :(得分:1)
.each()
的参数必须是数组或CSS选择器,但你有$('Name 1#Name 2#Name 3#Name 4#').each(...
,它不是数组或正确的CSS选择器
答案 2 :(得分:0)
您使用的选择器对jQuery无效:
$('Name 1#Name 2#Name 3#Name 4#');
因为它以hash标记结束。跟随选择器没有错误:
$('Name 1#Name 2#Name 3#Name 4#a');
有关jQuery ID选择器here的更多信息。