Jquery Can';返回JSON中的t引用键
我正在从web服务器返回一些JSON,但是我无法引用任何键Jquery Can';返回JSON中的t引用键,jquery,Jquery,我正在从web服务器返回一些JSON,但是我无法引用任何键 {"voteid":110.0,"message":"Your request was processed.","success":true} Alerting response.message/voteid alerts未定义 alert(response.voteid); 警告完整字符串工作正常:alert(response)但这不好,因为我想单独引用这些键。我的最终目标是从JSON中获取voteid键并将其附加到锚点,锚点也不
{"voteid":110.0,"message":"Your request was processed.","success":true}
Alerting response.message/voteid alerts未定义
alert(response.voteid);
警告完整字符串工作正常:alert(response)代码>但这不好,因为我想单独引用这些键。我的最终目标是从JSON中获取voteid键并将其附加到锚点,锚点也不起作用——使用完整字符串或仅使用一个键:
success: function(response) { $(".fav").data("voteid", response.voteid) }
<a class="fav" data-voteid="">
success:function(response){$(“.fav”).data(“voteid”,response.voteid)}
顺便说一句,我不知道为什么在voteid的末尾有一个0。我以字符串形式返回数字
编辑:通过将数据类型设置为JSON进行修复,但是,数据不会附加到锚的data voteid属性
EDIT让它通过使用.attr而不是.data来附加id——非常感谢大家 当您希望将JSON作为对象返回时,您可能会将其作为字符串返回。请尝试以下操作:
var响应对象=评估(响应)
警报(responseObject.voteId)
然后用谷歌搜索为什么eval不是一个好主意,以及如何解决这个问题。当你想把JSON作为一个对象返回时,你可能会把它作为一个字符串返回。请尝试以下操作:
var响应对象=评估(响应)
警报(responseObject.voteId)
然后用谷歌搜索为什么eval不是一个好主意以及如何解决这个问题。您已经排除了代码中的一些关键部分,但我猜您还没有为您的请求设置数据类型:'json'
或者您可以手动调用$.parseJSON
:
success: function(response) {
var parsed = $.parseJSON( response );
$("fav").data("voteid", parsed.voteid);
}
记住,JSON是文本。您已经排除了代码中的一些关键部分,但我猜您还没有为您的请求设置数据类型:'JSON'
或者您可以手动调用$.parseJSON
:
success: function(response) {
var parsed = $.parseJSON( response );
$("fav").data("voteid", parsed.voteid);
}
记住,JSON是文本。在ajax调用中是否将数据类型指定为JSON?它可能会以字符串形式返回JSON,这将不允许您访问密钥。如果指定JSON,jquery将把字符串转换成对象在ajax调用中是否将数据类型指定为JSON?它可能会以字符串形式返回JSON,这将不允许您访问密钥。如果您指定JSON,jquery将把字符串转换成一个对象,就像上面所说的那样,使用名为“id”的浮点字段感觉是错误的。但是,我不知道为什么会发生这种情况。我正在返回一个字符串。我不知道这是从哪里来的@赵:JavaScript没有整数。JSON也是如此<代码>110.0
似乎是一个奇怪的选择@T.J.克劳德:不,但我愿意打赌服务器端语言会。@cHao:我也是。:-)正如我所说的,结尾的.0
看起来确实很奇怪。正如我所说的,使用名为“id”的浮点字段感觉是错误的。赵,我不知道为什么会发生这种情况。我正在返回一个字符串。我不知道这是从哪里来的@赵:JavaScript没有整数。JSON也是如此<代码>110.0似乎是一个奇怪的选择@T.J.克劳德:不,但我愿意打赌服务器端语言会。@cHao:我也是。:-)正如我所说,最后的.0
看起来确实很奇怪。eval
几乎不应该被使用,包括“解析”JSON。这很简单,但非常危险。是“script”而不是“json”打破了它:/——但该值不会附加到acnhor的data-voteid属性中eval
几乎不应该被使用,包括“解析”JSON。这很简单,但非常危险。是“script”而不是“json”打破了它:/——但该值不会附加到acnhor的data-voteid属性中!是“脚本”变为“json”修复了它,duhh。。。。但它仍然不会附加到锚中的数据voteid=“”@梅尔,@patrick dw:更好的做法是完全关闭数据类型,让服务器返回正确的内容类型。这是“脚本”改为“json”修复的,duhh。。。。但它仍然不会附加到锚中的数据voteid=“”@梅尔,@patrick dw:最好完全关闭dataType
,让服务器返回正确的内容类型。