Ajax调用从php返回的对象填充表单字段

时间:2015-01-20 15:03:36

标签: php jquery ajax

首先,我使用$.getJSON()使用GET请求发送用户ID。

Javascrit部分:

        $.getJSON("this_file.php?id=1", null, function(data){
            $('input#id').val(data.id);
            $('input#username').val(data.username);
            $('input#first_name').val(data.first_name);
        });

当通过GET请求显示用户ID时,我运行一个函数,向我返回一个包含用户详细信息的OBJECT。

PHP部分(this_file.php):

    <?php
        $id =  $_GET['id'];
        $user = $db->find_by_id($id); //This function will return a single user details.
        echo json_encode($user);
     ,  //echo $user output is: {"id" : "1", "username" : "bobu", "first_name" : "bob"} 
     ?>

以下是要填充的表单字段。

HTML表单:

<input type="text" value="" name="id" id="id">
<input type="text" value="" name="username" id="username">
<input type="text" value="" name="first_name" id="first_name">

在浏览器控制台中,GET请求的响应按预期返回:

{"id" : "1", "username" : "bobu", "first_name" : "bob"}

但是,表格中没有显示这些值,我该如何制作这种方法?

1 个答案:

答案 0 :(得分:0)

我使用javascript,但如果你不打算:

更改

<input type="text" value="" name="id" id="id">
<input type="text" value="" name="username" id="username">
<input type="text" value="" name="first_name" id="first_name">

为:

<input type="text" value="<?php if($sentVar==1){echo $id;} ?>" name="id" id="id">
<input type="text" value="<?php if($sentVar==1){echo $username;} ?>" name="username" id="username">
<input type="text" value="<?php if($sentVar==1){echo $first_name;} ?>" name="first_name" id="first_name">

然后在触发时在PHP中添加一个条件:

$sentVar=1;

或者只是尝试:

<input type="text" value="<?php echo $id; ?>" name="id" id="id">
<input type="text" value="<?php echo $username; ?>" name="username" id="username">
<input type="text" value="<?php echo $first_name; ?>" name="first_name" id="first_name">