XMLHttpRequest文本发送404错误

时间:2014-04-13 00:03:16

标签: javascript post xmlhttprequest

我的服务器上有一个文本文件,我想使用XMLHttpRequest上传文本。它是通过GET方法成功下载的,但是当我尝试POST它时,我收到404错误。

var r1 = new XMLHttpRequest();
r1.open("GET", "db.txt", false);
r1.send();

var str = r1.responseText + "foo text";

var r2 = new XMLHttpRequest();
r2.open("POST", "db.txt", false);
r2.send(str);

1 个答案:

答案 0 :(得分:0)

在大多数地方进行直接上传是一个安全问题,通常是不允许的...您需要做的是在服务器上设置一个中间层来处理请求并编写安全地归档到磁盘。

您可以使用以下内容轻松上传文件:

var jsonBlob = new Blob([someJSON], {type: "text/plain;charset=utf-8"});
var data = new FormData();

data.append("filename", "new.json");
data.append("json", jsonBlob);

var xhr = new XMLHttpRequest();
var postURL = "http://example.com/post_target";
xhr.open("POST", postURL, true);
xhr.onload = function(e) {
  if (this.status == 200) {
    console.log(e.target.response);
  }
};
xhr.send(data);

其中postURL是可以处理文件上传的端点。

如果您发布了服务器上可用的语言(PHP?),我可以提供一些示例代码来处理服务器端的上传。