我有一个PHP脚本,通过ajax将此数组发送到客户端:
Array
(
[0] => $209.90
[1] => $20.99
[2] => $188.91
)
我以这种方式将数组发送到客户端:
return $servicePrices;
我有这个jQuery语句:
success: function(data) {
//console.log('Success'+data);
$( '#tourSubtotal' ).val( data[0] );
$( '#tourDiscount' ).val( data[1] );
$( '#tourTotal' ).val( data[2] );
},
我的每个ID值的结果都是A
,r
和r
。相反,如何从我的ajax jQuery中获取数组中的3个货币数据值?
答案 0 :(得分:7)
看起来您正在使用print_r()
函数来显示:
Array
(
[0] => $209.90
[1] => $20.99
[2] => $188.91
)
在该格式中,它与任何字符串一样有用。您必须使用json_encode()
将其转换为两种语言都理解的格式:
["$209.90", "$20.99", "$188.91"]
您的PHP代码应该是:
<?php
$json = some_value;
// Remove this:
// print_r($json);
// Instead, write this:
echo json_encode($json);
?>
然后您可以按照指定的方式在JavaScript中使用它。此外,jQuery足够聪明,可以理解响应是JSON,在大多数情况下你不需要JSON.parse()
。
答案 1 :(得分:3)
您可以从PHP返回JSON编码格式的数组,如下所述:
$result = array(
'0' => '$209.90'
'1' => '$20.99'
'2' => '$188.91'
);
return json_encode($result);
在AJAX成功函数中,您可以使用:
success: function(data) {
var temp = JSON.parse(data);
$( '#tourSubtotal' ).val( temp[0] );
$( '#tourDiscount' ).val( temp[1] );
$( '#tourTotal' ).val( temp[2] );
},
希望这有帮助。