通过 JSON 检索数据并放入表单中


Retrieve data via JSON and put in a form

我尝试从mysql中检索一些信息以将其放入表单中,并更新信息。我在同一页面中使用ajax调用,我调用ajax传递id和php返回所有信息。

if(isset($_POST["retriveForm"])) {
    $data_json =array();
    $id  = $_POST['retriveForm'];
    $sql = "SELECT * FROM mytable WHERE Id = $id";
    while ($row = mysqli_fetch_array($db->consulta($sql)) {
       $data_json  = array('item1' => $row['item1'],'item2' => $row['item2']) ;
    }
    $data_json['item_array'] = call_a_function_return_array();//this works
    echo json_encode($data_json);
}

像这样的阿贾克斯呼叫节目

 $(document.body).on('click', '.edit' ,function(){
                var id = $(this).data('id');
                $.ajax({
                  type: "POST",
                  url: "is_the_same_page.php",
                  data: {retriveForm : id},
                  success: function(response) {
                     $('#myForm').find('input').eq(1).val(response.item1);
                  }
                });
 });

当输入 .val(response.item1) 时得到任何东西,但是如果我放 response,输入会取所有值

$('#myForm').find('input').eq(1).val(response);

显示

{"item1":"item1","item2":"item2","item_array":["item_in_array1","item_in_array2"]}

我也试过

var obj = jQuery.parseJSON(response);

尝试将$.ajax() dataType选项设置为"json"

"json":将

响应评估为 JSON 并返回 JavaScript 对象。

 $(document.body).on("click", ".edit", function() {
   var id = $(this).data("id");
   $.ajax({
     type: "POST",
     url: "is_the_same_page.php",
     dataType: "json", // set `dataType` to `"json"`
     data: {
       retriveForm: id
     },
     success: function(response) {
       $("#myForm").find("input").eq(1).val(response.item1);
     }
   });
 });