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