在多个文本字段中将多个PHP回显值返回给JQuery ajax

时间:2018-04-13 04:17:27

标签: php jquery ajax

这是我的Php文件,我将通过jquery ajax返回两个回声

<?php
$data=$_POST['data1'];
$data2="h";
if($data2==$data)
{
 echo "john";
 echo "usa";
}
else
{
 echo "Error";
}
?>

这是我用ajax调用的地方,并将名称和位置设置为文本字段

<input type="text" id="name">
<input type="text" id="location">
<button id="submit">Click</button>

<script>
    $(document).ready(function() {
        $("#submit").click(function() {
            var a = "h";
            $.ajax({
                url: "test.php",
                method: "POST",
                data: {
                    data1: a
                },
                success: function(response) {
                    alert(response);
                }
            });
        });
    });

</script>

现在我希望John将显示在名称字段中,而USA将显示在位置字段

4 个答案:

答案 0 :(得分:2)

你应该回复json array

<?php
    $data=$_POST['data1'];
    $data2="h";
    if($data2==$data)
    {
     echo json_encode(array("name"=>"John", "country"=> "usa"));die;
    }
    else
    {
     echo "Error";
    }
    ?>

并解析ajax中的json响应:

<input type="text" id="name">
<input type="text" id="location">
<button id="submit">Click</button>

<script>
    $(document).ready(function() {
        $("#submit").click(function() {
            var a = "h";
            $.ajax({
                url: "test.php",
                method: "POST",
                data: {
                    data1: a
                },
                success: function(response) {
              var respData = JSON.parse(response);
                $('#name').val(respData.name); // set name
                $('#location').val(respData.country);// set country name
                    //alert(response);
                }
            });
        });
    });

</script>

答案 1 :(得分:0)

很简单,您可以尝试此代码。 json_encode方法,用于通过数组发送多个值。

<?php
header('Content-type:application/json');
$data=$_POST['data1'];
$data2="h";
if($data2==$data)
{

echo json_encode(array('john', 'usa'));
}
else
{
echo json_encode(array('Error'));

}
?>

答案 2 :(得分:0)

你需要改变

data:{
     data1: a
},

使用

data:{
     'data1': a
},

在你的html中创建字段

<input type="text" id="name">
<input type="text" id="location">
<button id="submit">Click</button>
<div id="result"></div>

并更改

echo "john";
 echo "usa";

echo "<div>john</div>
<div>usa</div>";

并改变

success: function(response) {
    alert(response);
}

使用

 success: function(response) {
        $('#result').html(response);
    }

答案 3 :(得分:0)

最好的办法是将你的params作为JSON返回,然后使用javascript解析那些。

<?php
$data=$_POST['data1'];
$data2="h";
if($data2==$data)
{
 echo json_encode(array(
  "name"=>"john"
  "country"=>"usa"
 ));
}
else
{
 echo "Error";
}
?>

然后更新输入

<script>
    $(document).ready(function() {
        $("#submit").click(function() {
            var a = "h";
            $.ajax({
                url: "test.php",
                method: "POST",
                data: {
                    data1: a
                },
                success: function(response) {
                   var data = jQuery.parseJSON(response).
                   $('#name').val(data.name);
                }
            });
        });
    });

</script>