【问题标题】:Ajax call returning [object object] on json data typeAjax 调用返回 json 数据类型的 [object object]
【发布时间】:2018-06-20 13:44:08
【问题描述】:

我正在尝试使用 ajax 调用将 ck-editor 的数据插入到 Mysql 表中。 Mysql表中列的数据类型为文本,表中只有一列名为disclaimer。

文件 index.php 有一个 ck-editor 和一个用于 On-click ajax 调用的按钮。

index.php

<html>
<script type="text/javascript">

  function disclaimerData() {
    var disclaimer=$("#disclaimer").val();


// AJAX code to send data to php file.

        $.ajax({
            type: "POST",
            url: "disclaimer-data.php",
            data: {disclaimer:disclaimer},
            dataType: "JSON",
            success: function(data) {
             $("#message").html(data);
            $("p").addClass("alert alert-success");
            },
            error: function(err) {
            alert(err);
            }
        });

}

  </script>
<body>
   <textarea id="js-ckeditor" class="disclaimer"  name="disclaimer"> </textarea>
 <button type="button" class="btn btn-square btn-secondary" name="insert-data" id="insert-data" onclick="disclaimerData()" style="background-color:#8C489F;color: white;cursor: pointer; ">Save</button>
</body>
</html>

文件 disclaimer-data 有 PDO 脚本来插入数据到表中。

免责声明-data.php

<?php

 include('../includes/config.php');


$disclaimer = $_POST['disclaimer'];

$stmt = $db->prepare("INSERT INTO disclaimer(disclaimer) VALUES(:disclaimer)");

$stmt->bindparam(':disclaimer');

if($stmt->execute())
{
  $res="Data Inserted Successfully:";
  echo json_encode($res);
}else {
  $error="Not Inserted,Some Probelm occur.";
  echo json_encode($error);
}



 ?>

?>

上面代码的问题是它在ajax调用时返回[Object Object]。

【问题讨论】:

  • 你的意思是 id=message 元素中的值?
  • 在成功的 Ajax 中使用 $.parseJSON(data)。或者 console.log(data) 你会看到这是一个 JSON...

标签: json ajax pdo


【解决方案1】:

将您的 html 代码编辑为:

<?php
include('../includes/config.php');
$disclaimer = $_POST['disclaimer'];
$stmt = $db->prepare("INSERT INTO disclaimer(disclaimer)   VALUES(:disclaimer)");
$stmt->bindparam(':disclaimer');
$res = array();
if($stmt->execute())
{
    $res['msg']="Data Inserted Successfully:";
    $res['err'] = 0;
}
else 
{
    $res['msg']="Not Inserted,Some Probelm occur.";
    $res['err'] = 1;
}
echo json_encode($res);
?>

并将您的脚本编辑为:

$.ajax({
        type: "POST",
        url: "disclaimer-data.php",
        data: {disclaimer:disclaimer},
        dataType: "JSON",
        success: function(data) {
         if(data.err==0){
             $("#message").html(data.msg);
             $("p").addClass("alert alert-success");
         }
         else{
            alert(data.msg);
         }

        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多