php jquery json请求每个

时间:2014-01-21 05:39:13

标签: php jquery json

我的jquery是

<script type="text/javascript">
// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false }); 
setInterval(function() {
$('#divToRefresh').load('get.php');
}, 100);  
});
// ]]></script>

get.php的结果是

{"dir":"down","sym":"oo","b":"1.35460","a":"1.35465"} {"dir":"down","sym":"pp","b":"1.64263","a":"1.64273"} {"dir":"down","sym":"qq","b":"104.498","a":"104.502"} {"dir":"up","sym":"rr","b":"0.88183","a":"0.88188"} {"dir":"down","sym":"ss","b":"1.09551","a":"1.09558"} 

我需要显示如下

ONE : 1.35451 / 1.35454   |     TWO : 171.880 / 171.892   |     GBP / NZD : 1.97260 / 1.97316

任何帮助..

1 个答案:

答案 0 :(得分:2)

您可以使用回调函数重新格式化数据,而不是直接将数据加载到'divToRefresh'。 我假设您收到的数据是PHP数组,因此您需要将其解析为JSON格式,以便您可以通过Javascript方便地访问它。

$('#mydiv').load('get.php',function(data) {
        var json = JSON.parse(data);
        var formatted_output = json.dir + '/' + json.sym;//do whatever formatting you want
        $('#mydiv').html(formatted_output);
    });

您从PHP文件发送的结果不是多维数组的有效JSON。 如果您要一次性发送它,它应该采用以下格式(或者解析它时会遇到问题):

[{"dir":"down","sym":"oo","b":"1.35460","a":"1.35465"},{"dir":"down","sym":"pp","b":"1.64263","a":"1.64273"},{"dir":"down","sym":"qq","b":"104.498","a":"104.502"},{"dir":"up","sym":"rr","b":"0.88183","a":"0.88188"},{"dir":"down","sym":"ss","b":"1.09551","a":"1.09558"}]

基本上每一组元素如{element,element,element}都需要用逗号分隔,整个json应该用[],[{element,element},{element,element},{element,element}]

包裹

然后,您可以从各个元素构建格式化文本:

var formatted_output = json[0].dir + '/' + json[0].sym + ...

希望这有帮助!