Javascript 在jQuery中解析jSON响应
我正在为我的一个站点使用一个文件上传插件,“Delete”选项的回调函数返回一个jSON响应,如下所示:Javascript 在jQuery中解析jSON响应,javascript,jquery,json,Javascript,Jquery,Json,我正在为我的一个站点使用一个文件上传插件,“Delete”选项的回调函数返回一个jSON响应,如下所示: {"5425ba85c976a~2014-09-26_7-13-47.png":true} 我如何在jQuery中解析这个jSON响应,以知道该值是真是假 这是我的代码看起来的样子,但当我记录这个时,它会打印未定义的内容 $(document).on('click', '.delete', function(e) { var fileName = $(this).attr('fi
{"5425ba85c976a~2014-09-26_7-13-47.png":true}
我如何在jQuery中解析这个jSON响应,以知道该值是真是假
这是我的代码看起来的样子,但当我记录这个时,它会打印未定义的内容
$(document).on('click', '.delete', function(e) {
var fileName = $(this).attr('filename');
$.ajax({
url: "server/php/?action=DELETE&file="+fileName,
type: 'GET',
error: function (err) {
alert(err.statusText);
},
success: function (data) {
console.log(data.fileName);
}
});
});
你必须这样做
data["5425ba85c976a~2014-09-26_7-13-47.png"]
而不是
console.log(data.fileName);
你能告诉我们html元素的样子吗?将推荐此btw的数据属性。您需要
object.keys()
:。要将您的案例与副本进行比较:就像示例错误地执行something.foo
,但确实需要名为“bar
(存储在foo
中)的属性一样,您错误地执行了data.fileName
,当您确实需要名为“542…47.png
”的属性时,该属性存储在fileName
中。括号符号是您的朋友:示例解决方案是something[foo]
,您的是data[fileName]
@apsillers shouldntconsole.log(data[fileName])代码>工作?退换商品undefined@SBB是的,应该是这样。我假设fileName
的值与响应中的属性名称相同;不是吗?另外,为了确定,您是否正在检查success
函数中的值?这将是获取数组值的方法,而不是json属性。@Razah:)@Razah如果您试图使用变量的值,则必须使用[]。如果使用data.fileName
,它将在名为“fileName”的对象上查找属性。使用括号表示法将查找变量fileName
的值的对象上的值。是的,您完全正确,我应该在注释之前仔细考虑;)因为图像名称是动态的,所以我做了console.log(data[fileName])代码>但它返回未定义