javascript - Ajax代码问题

标签 javascript ajax

我有以下代码:

function add_post() {
    if (document.getElementById("blogTitle").value.trim() == "") {
        alert("Please Insert Blog Title");
        return;
    }

    if(CKEDITOR.instances.editor1.getData() == "") {
        alert("Please Insert Blog Details");
        return;
    }

    var data = new FormData(document.getElementById("file_add"));
    var xhr = new XMLHttpRequest();
    var de=CKEDITOR.instances.editor1.getData();  
    xhr.open("POST", "upload.php", false)
    xhr.send(data + "&de=" + de);

    if (xhr.status == 200) { 
        alert(xhr.responseText);
        if(xhr.responseText == 2) {
            document.getElementById("res").innerHTML="Please Upload The File";     
        }

        if(xhr.responseText == 1) {
            document.getElementById("res").innerHTML="Blog Created"; 
            document.getElementById("blogTitle").value="";
            document.getElementById("editor1").value="";   
        }
    }
    else {
        output.innerHTML += "Error " + xhr.status + " occurred uploading your file.<br />";
    }  
}

我在 textarea 中使用 CKEDITOR 来获取格式化文本。我使用 CKEDITOR.instances.editor1.getData() 获取文本区域值。另一方面,我使用了 FormData,因为我想使用 ajax 上传表单和文件。我尝试发送数据,但无法发送数据。我已将 textarea 值存储在 de 变量中。

最佳答案

你的 form data object不是字符串。您不能仅使用 + 将更多数据连接到其中。

替换:

xhr.send(data+"&de="+de);

data.append("de", de);
xhr.send(data);

关于javascript - Ajax代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23289782/

相关文章:

javascript - 刷新时出现 D3 词云错误

javascript - Google Analytics 虚拟综合浏览量跟踪代码记录的综合浏览量不一致

javascript - 如果失败, Angular 回调 api 添加错误消息

javascript - 为输入分配值,需要两个帖子

javascript - 如何获取 CSS 代码并保存在字符串中?

javascript - 如何使用 jQuery 和 JavaScript 获取 URL 的特定部分?

Javascript - 检查多个字段是否为空不起作用

ajax - Razor 中的 "UpdatePanel"(mvc 3)

javascript - 来自 jQuery 的编程表单 POST 在文档就绪中不起作用

python - 将 slider 值传递给 Bottle 路径函数