以下是我在jQuery AJAX调用期间使用的PHP代码:
<?php
include '../code_files/conn.php';
$conn = new Connection();
$query = 'SELECT Address_1, Address_2, City, State, OfficePhone1, OfficePhone2, Fax1, Fax2, Email_1, Email_2
FROM clients WHERE ID = ?';
$conn->mysqli->stmt_init();
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('s', $_POST['ID']);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
echo json_encode($row);
?>
客户端代码如下:
$.post(url, {ID:$('#ddlClients').val()},
function(Result){
// Result
}
);
AJAX调用已成功完成。 我得到了Result的值,如下:
"{"Address_1":"Divisional Office 1","Address_2":"The XYZ Road",.....and so on
$row = $result->fetch_object()
和$row = $result->fetch_array()
,但没有用。我知道可以通过服务器端的以下代码来实现此目的:
$row = $result->fetch_assoc();
$retVal = array("Address_1"=>$row['Address_1'], "Address_2"=>$row['Address_2'].......);
echo json_encode($retVal);
或者
$row = $result->fetch_object();
$retVal = array("Address_1"=>$row->Address_1, "Address_2"=>$row->Address_2.......);
echo json_encode($retVal);
有没有一种方法可以直接将
$row
发送到客户端JavaScript,并准备好用作JSON对象,而不需要手动创建数组?