总是使用带有ajax的tinymce返回索引页面

时间:2018-03-15 08:43:11

标签: php ajax tinymce

我想使用带有ajax帖子的textarea tinymce添加数据。但当我点击按钮并在firebug中看到我在调用ajax页面后查看网络选项卡以保存数据然后自动调用索引页面。但是,只有当我发布到使用Web域托管时,才会出现此问题。在localhost上一切顺利。请检查下面的代码并给我解释和代码改进。非常感谢你。

add.php

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>  
<textarea class="tinymce" id="contentblog" name="contentblog"></textarea><br/> 
<button type="button" id="AjaxSubmit" name="submit">Submit</button>  

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="plugin/tinymce/tinymce.min.js"></script> 
<script type="text/javascript">
tinymce.init({
    selector: "textarea.tinymce"
});
$(document).ready(function () { 
    $('#AjaxSubmit').click(function (){   
        var contentblog = tinymce.get("contentblog").getContent();  
        var form_data = new FormData();
        form_data.append('contentblog', contentblog);
        $.ajax({
            url: 'add-ajax.php',  
            dataType: 'text',   
            cache: false,
            contentType: false,
            processData: false,
            data: form_data,  
            type: 'post',
            success: function(data){
                alert("Success !");
                return true;
            }
         });
    });
}); 
</script>
</body>
</html> 

附加ajax.php

<?php 
include_once('connection.php'); 
$contentblog = $_POST["contentblog"];  
$data = array( 
    "contentblog"  => $contentblog  
); 
 $jsondata1 =  json_encode($data);
 $jsondata2 = json_decode($jsondata1, true); 
 $contentblog = $jsondata2['contentblog'];   
 $GetContentBlog =  addslashes($contentblog);  
 $result = mysqli_query($mysqli, "INSERT INTO t_test(iscontents) VALUES('$GetContentBlog')");
 if($result){
     echo 'is success';
 }
?>

1 个答案:

答案 0 :(得分:0)

您需要阻止html表单的正常表单提交:

$('#AjaxSubmit').click(function (event ){ 
  event.preventDefault();

如果没有这个,html表单会通过正常的http帖子提交表单并被重定向!

有关详细信息,请参阅https://api.jquery.com/event.preventdefault/