如何使用Ajax将div内容存储到DB

时间:2017-09-12 08:42:35

标签: javascript php jquery

在我的项目中,我想将div内容存储到DB。内容如下:

<span>name:</span><input type="text" id="inputid" value="John"><br />

所以我选择innerHTML来成功获取它们。使用Ajax,内容将存储到DB。

昨天,我发现应该调用stripslashes()来格式化内容,并且可以成功更新。

但今天striplashes()没有做任何事。这是我的js代码:

var slcId = $('#slcStNum').val();
var tmTgDvHtml=document.getElementById("timeTagDiv").innerHTML;
$.ajax({
    dataType:'html',
    type:"POST",
    url:"get_ajax_csc_div.php",
    data:{htmlCnt:tmTgDvHtml,slcId:slcId},
    success:function (data) 
    {
        alert("test");
    }
 });

这是html代码:

<div id="timeTagDiv"><span>name:</span><input type="text" id="inputid" value="John"><br /></div>

这是get_ajax_csc_div.php代码

<?php
if(isset($_POST['htmlCnt']))
{   
 include("DB.php");
 $htcnt=stripslashes(".$_POST['htmlCnt'].");
 $sql="update IDC SET stprocess='$htcnt' where id='".$_POST['slcId']."';";
 $sel = $conn->exec($sql);  
 }
 ?>

我更改了dataType:&#39; html&#39;到dataType:&#39; json&#39;,但它又失败了。谁能帮帮我?

2 个答案:

答案 0 :(得分:5)

这是因为你的_POST[]超全局被引号括起来,使它成为一个字符串。

更改此

$htcnt = stripslashes(".$_POST['htmlCnt'].");

有了这个

$htcnt = stripslashes($_POST['htmlCnt']);

答案 1 :(得分:0)

将您的get_ajax_csc_div.php更改为

include("DB.php");

if(isset($_POST['htmlCnt'])) {
    $htcnt = stripslashes($_POST['htmlCnt']);
    $sql = "update IDC SET stprocess='$htcnt' where id='".$_POST['slcId']."'";
    $sel = $conn->exec($sql);  
}