【问题标题】:AJAX datatype JSON and HTMLAJAX 数据类型 JSON 和 HTML
【发布时间】: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 对象。

标签: php jquery json ajax


【解决方案1】:

dataType设置为html:

dataType: "html"

并在服务器上渲染 html:

$res = array('name'=>$emp_name, 'ph'=>$pos, 'add'=>$address, 'id'=>$lastid);
echo "<tr><td>" . $res['name'] . "</td><td>" . $res['ph'] . "</td><td>" . $res['add'] . "</td></tr>"";

所以在success 回调中,您将收到html

success: function(res) {
    $("#trId").before( res );
}

为什么使用html 而不是json - 是一个基于意见或基于案例的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 2011-07-17
    • 1970-01-01
    • 2017-06-16
    • 2014-01-11
    • 1970-01-01
    • 2011-02-12
    • 2015-08-06
    相关资源
    最近更新 更多