0

私の質問は簡単です 文字列と数字を受け取りましたが、数字しか表示されません どうすれば両方を表示できますか?

     $.ajax({
            type: "POST",
            url: "data.php",
            data: "act="+nr,
            success: function (result) {

                var arr = JSON.parse(result);

                if ($.isArray(arr) == true) {
                    $.each(arr, function (i, n) {
                        $('#s_main #s_info').html("<p>+" + n + "</p>")
                    });

                }

            }
        })
    }); //ends here

私のphp:

$act = $_POST['act'];

$output =array();
$act2 = "TXT!!!";
array_push($output,$act);

echo json_encode($output);

ちなみに、htmlの代わりにappendを使用すると、結果は正しいですが、スタックされ、以前のデータは削除されません

4

1 に答える 1

0

見返りとして得られるのは JSON Objectです。

if ($.isArray(arr) == true)

オブジェクトが配列ではないため、この行は true を返すべきではありません。JSON.parse()が機能しなかった場合は、 false と同等の値が返されます。したがって、返されたオブジェクトをテストして、成功したかどうかを確認できます。

var jsonObj = JSON.parse(result);

if (jsonObj) {
  $.each(jsonObj, function (index, value) {
    $('#s_main #s_info').html("<p>+" + value + "</p>")
  });
}
于 2012-06-09T19:05:27.897 に答える