【发布时间】:2016-02-22 11:46:46
【问题描述】:
我正在关注一个关于 ajax 的教程,并且我制作了这个脚本,我在其中以 JSON 格式获取数据并将它们附加到一个表中:
$.ajax({
url: 'insert.php',
type: 'POST',
data: {data1: name, data2: phone, data3: address},
dataType: "json",
success:function(res){
//if(data=="success")
//{
//alert("Data added");
//console.log(arr.id);
$("#trId").before("<tr><td>"+res.emp_name+"</td><td>"+res.ph+"</td><td>"+res.add+"</td></tr>");
//}
},
error:function(res){
alert("data not added");
}
这里是 PHP 代码:
$insert = "INSERT into employee(emp_name, phone, address) VALUES (:emp_name, :ph, :add)";
$insertStmt = $conn->prepare($insert);
$insertStmt->bindValue(":emp_name", $emp_name);
$insertStmt->bindValue(":ph", $pos);
$insertStmt->bindValue(":add", $address);
$insertStmt->execute();
//echo "success";
$lastid = $conn->lastInsertId();
$res = array('name'=>$emp_name, 'ph'=>$pos, 'add'=>$address, 'id'=>$lastid);
echo json_encode($res);
我们的讲师要求我们将此脚本从 JSON 作为数据类型转换为 HTML,并对其进行初始更改。但是我不知道 PHP 代码现在应该返回什么,以及如何将返回的值附加到表中。
其次,为什么有些人使用 HTML 作为数据类型,而 JSON 更好?
【问题讨论】:
-
这不是
better...用例可以不同 -
阅读 ajax 文档 --api.jquery.com/jquery.ajax -- "html":以纯文本形式返回 HTML;包含的脚本标签在插入 DOM 时进行评估。 -- "json":将响应评估为 JSON 并返回一个 JavaScript 对象。