我是JavaScript的新手,请原谅我,如果这是一个愚蠢的问题:
我有这个Ajax调用:
$.ajax({
type: 'GET',
url: 'product_prices/' + value,
success: function (data) {
console.log('success', data)
}
});
价值"数据"产生一个数组:
success [{"price":"120.00"}]
我需要的是提取价格的价值(120)并在以后添加它。
如何获得此值?
答案 0 :(得分:3)
data
有一个带有price属性的对象数组。访问数组中的第一个对象并将其价格解析为数字:
parseFloat(data[0].price);
答案 1 :(得分:3)
你可以这样做:
var price = data[0]['price'];
或:
var price = data[0].price;
这两种方法都是这样的:您正在访问名为data的数组中的第一个值,然后是该值中名为“price”的字段。不必将其分配给变量。
但是,您可能希望在循环内执行此操作,迭代所有数据值,以便在数据的第一个元素不是您想要的情况下,您仍然可以捕获它。例如:
data.forEach(function(i) {
console.log(data[i].price);
//do stuff with the value here
});
答案 2 :(得分:2)
测试一下,
在使用之前,您必须解析JSON
字符串!
var data = JSON.parse('[{"price":"120.00"}]');
var Price = data[0].price; // 120.00
//OR IF it's Single And not Array
var Price = data.price; // 120.00
答案 3 :(得分:1)
由于您的响应是一个数组,请访问第一个位置,然后访问object属性:
data[0].price; //"120.00"
答案 4 :(得分:-1)
var result = {},
sum = 0;
$.ajax({
type: 'GET',
url: 'product_prices/' + value,
success: function (data) {
result = data[0];
}
});
sum = parseFloat(result.price) + 2.25;