Ajax在第一次尝试时不发送textarea(CKEditor)的值,但它在第二次尝试时发送它

时间:2018-05-13 13:07:54

标签: javascript jquery ajax xmlhttprequest ckeditor

我的HTML中有一个textarea加载CKEditor 4.然后我将我的HTML表单的数据发送到处理输入的PHP文件。

       $.ajax({
            xhr: function(){
                //blah blah blah
                return XHR;
            },
            type: "POST",
            url: "process.php",
            data: formData,
            processData: false,
            contentType: false,
            mimeType: "multipart/form-data",
            success: function (response) {
                //blah blah blah
            },
            error: function(XHR, textStatus, error){
               //blah blah blah
            }
        });

在PHP文件中,我首先清理所有输入,然后将它们传递给数据库。事实证明,我的页面中textarea的值,其名称为“description”,在我第一次按下提交按钮时不会通过ajax发送(我已经通过编写$ _POST []的内容来验证这一点服务器上的一个文件,以方便调试过程)但第二次按下我的HTML表单上的提交按钮,描述textarea的值发送没有问题!

我首先假设它可能是因为描述textarea的值包含HTML代码并且由PHP清理。但我删除了它的卫生设施,问题仍然存在。到目前为止,我已编写了数千行代码,但如果需要,我不介意透露更多代码。我只是避免这样做,以防止这个帖子变得不必要的长。

感谢任何帮助。提前谢谢。

编辑这是我填写formData变量的方法:

   $("#form").submit(function (event) {
        event.preventDefault();
        var formData = new FormData(this);
        loading_start();
        submitForm(formData);
    });

我需要在提交此表单的同时上传文件。

1 个答案:

答案 0 :(得分:0)

如果您不需要将文件上传到服务器,请尝试使用.val()功能获取textarea内容。