[英]ajax response returns [object] using pdo and show my query
得到我的ajax響應發回的querystring。 阿賈克斯的作品,我知道id被傳遞,我已經在php中回顯了變量,它顯示正確,但是當我使用json編碼時,我收到了[object]警報,響應如下所示
響應:
{"queryString":"SELECT * FROM ContactInfo WHERE id = :id"}
PHP:
$id = $_POST['id'];
if (empty($id)) {
echo "no id";
}
try {
$conn = new PDO('mysql:host=localhost;dbname=test;charset=utf8', user, pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT * FROM ContactInfo WHERE id = :id');
$stmt->execute(array('id' => $id));
echo json_encode( $stmt);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
JS:
$.ajax({
type: "POST",
timeout: 6000,
data : {id: myid}, // add if using post
dataType : 'json', //text
crossDomain: false,
cache: false,
async: true,
url: requrl,
success: function(data) {
alert(data);
}
您需要使用fetch()傳遞結果數組:
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo json_encode( $result );
然后jQuery將返回一個對象,這里是如何訪問它的方法:
success: function(data) {
alert(data.FirstName);
}
編輯:我注意到您只返回一行,所以它不是fetchAll()。
嘗試這個:
$result = $stmt->execute(array('id' => $id));
echo json_encode($result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.