通过json编码将AJAX响应传递给html中的不同div

时间:2017-05-21 15:37:07

标签: javascript php jquery html ajax

我正在尝试在2个不同的<divs>中发送AJAX响应来显示数据。这就是我尝试过的。任何建议请问我在哪里做错了?

脚本

 $("document").ready(function(){
        $("#search_form").on("submit",function(e) {
            e.preventDefault();
            $.post("result.php?query="+encodeURIComponent($("#list_search").val()),function(data) {
                //$('.coupons').html(data);
                $('.coupons').html($('#inner1' , data).html());
                $('.coupons_im').html($('#inner2' , data).html());
            });
        });

的div

<div class="coupons"></div>
<div class="coupon_im"></div>

PHP

$res=$row['c_name'];
$res1=$row['c_desription'];
echo json_encode("<div id='inner1'> $res </div> <div id='inner2'>$res1</div>");

4 个答案:

答案 0 :(得分:2)

你必须从php发送一个数组,然后从JS中选择你想要的对象。

PHP:

$res=$row['c_name'];
$res1=$row['c_desription'];
echo json_encode([
    "inner_1" => "<div id='inner1'> $res </div>",
    "inner_2" => "<div id='inner2'>$res1</div>"
]);

JS:

$.post(
    "result.php?query="+encodeURIComponent($("#list_search").val()),
    function(data) {
        $('.coupons').html(data.inner_1);
        $('.coupon_im').html(data.inner_2);
    },
    'json' // tell JS that the php response is json formated
);

希望它有所帮助。

答案 1 :(得分:2)

json_encode()中的PHP更改为您的AJAX coupons_im中的拼写错误的课程需要coupon_im

echo json_encode(['inner1' => "<div id='inner1'> $res </div>", 'inner2' => "<div id='inner2'>$res1</div>"]);

和Javascript

$("document").ready(function() {
    $("#search_form").on("submit", function (e) {
        e.preventDefault();
        $.post("result.php?query=" + encodeURIComponent($("#list_search").val()), function (data) {
            var res = JSON.parse(data);
            $('.coupons').html(res.inner1);
            $('.coupon_im ').html(res.inner2);
        });
    });
})

答案 2 :(得分:0)

如果我不误解你。答案是:
   $('.coupons').html(data); $('.coupons_im').html(data);

答案 3 :(得分:0)

我希望这些改变会对你有所帮助

     $("document").ready(function() {
            $("#search_form").on("submit", function (e) {
                e.preventDefault();
                $.post("result.php?query=" + encodeURIComponent($("#list_search").val()), 

function (data) {

                    $('.coupons').html(data.inner1);
                    $('.coupon_im ').html(data.inner2);
                }, "json");
            });
        })

然后在PHP中

 $res=$row['c_name'];
$res1=$row['c_desription'];
$data['inner1'] = "<div id='inner1'>". $res." </div>";
$data['inner2'] = "<div id='inner1'>". $res1." </div>"
echo json_encode($data);