Php到json不传递所有数组(或json不显示所有接收的值)

时间:2013-08-26 06:05:36

标签: php json

Input form fields

如第一行和第三行所示,所有字段都填满了,对于第二行,一些字段留空。

使用

填充值
$.post("__php_file.php", { 'number_of_input_row': number_of_input_row, 'date_day': date_day, 'date_month': date_month, 'date_year': date_year, 'currency': currency }, function(data, success) {

$('#currency_load1').html(data[0].FinalCurrencyRate);
$('#currency_load2').html(data[1].FinalCurrencyRate);
$('#currency_load3').html(data[2].FinalCurrencyRate);

}, "json");

发送到php文件,处理并获得这样的php数组

Array
(
    [0] => Array
        (
            [CurrencyAbbreviation] => AUD
            [DateOfCurrencyRate] => 2013-07-11
            [NumberOfInputRow] => 1
            [FinalCurrencyRate] => 0.506
        )

    [2] => Array
        (
            [CurrencyAbbreviation] => CAD
            [DateOfCurrencyRate] => 2013-07-25
            [NumberOfInputRow] => 3
            [FinalCurrencyRate] => 0.516
        )

)

json数组就是这个

{
"0":{"CurrencyAbbreviation":"AUD","DateOfCurrencyRate":"2013-07-11","NumberOfInputRow":"1","FinalCurrencyRate":"0.506"},
"2":{"CurrencyAbbreviation":"CAD","DateOfCurrencyRate":"2013-07-25","NumberOfInputRow":"3","FinalCurrencyRate":"0.516"}
}

到目前为止一切都好。但下面描述了问题

取回结果并在此处显示

<div id="currency_load1"></div>
<div id="currency_load2"></div>
<div id="currency_load3"></div>

但是FinalCurrencyRateAUD仅显示[0] => Array

问题是:需要更正哪些内容才能显示FinalCurrencyRate来自[2] => Array?正如你在php中看到的那样数组存在,但是没有传递给json ......

如果填充第二行的所有字段,则显示所有三个数组。

更新试过这个

$('#currency_load1').html(data[0].FinalCurrencyRate);
$('#currency_load2').html("test to check");
$('#currency_load3').html(data[2].FinalCurrencyRate);

一切正常。理解为jquery需要创建像if FinalCurrencyRate is empty, then $('#currency_load2').html("0");这样的条件?但为什么这样的json / jquery行为?

0 个答案:

没有答案