通过JSON检索数据并以

时间:2016-07-15 23:19:30

标签: php jquery json ajax

我尝试从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);
}

ajax调用显示如下

 $(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)得到任何东西,但如果我把响应输入取得所有值

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

显示

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

我也试过

var obj = jQuery.parseJSON(response);

1 个答案:

答案 0 :(得分:0)

尝试将$.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);
     }
   });
 });