我一直在尝试从php中检索json数据。我有一个HTML表打开一个模态。我通过ajax post传递行中数据的id,在php文件中我计划使用传递的id在我的数据库中查找相关行,并在模态中显示所有信息。目前我一直试图将id返回以及一些临时值。
使用Javascript:
var id = recipient;
console.log("id: " + id);
var idObject = { id: id }
$.ajax({
url: "json.php",
type: "POST",
data: idObject,
dataType: "json",
contentType: "application/json"
})
json.php:
<?php
$id = $_POST["id"];
$firstName = "firstname";
$lastName = "lastname";
$email = "email@hotmail.co.uk";
if(isset($id)){
$data = array(
"id" => $id,
"firstName" => $firstName,
"lastName" => $lastName,
"email" => $email
);
echo json_encode($data);
}
?>
我尝试使用成功调用函数但没有运气。有谁能指出我正确的方向?
答案 0 :(得分:1)
试试这个:
$.ajax({
url: "json.php",
type: "POST",
data: {id: id},
dataType: "json",
contentType: "application/json"
}).success(function(data){
//data is now a JSON object containing data
//you outputted from PHP, example:
$('#form-email').val(data.email);
});
即使没有设置status
,也可以考虑使用HTTP状态代码或在JSON中返回$id
字段,这样您就可以获得一致的响应。
示例(使用PHP 5.4+
短数组语法):
if(isset($id))
{
return json_encode([
'status' => 'ok',
'errors' => [],
//(rest of data)
]);
}
else
{
return json_encode([
'status' => 'error',
'errors' => ['no id given'],
]);
}