Javascript XMLHttpRequest";把「;

Javascript XMLHttpRequest";把「;,javascript,http,browser,xmlhttprequest,put,Javascript,Http,Browser,Xmlhttprequest,Put,我知道如何使用XMLHttpRequest()获取数据,还想使用XMLHttpRequest()将数据放入文件。我想“放置”的数据是纯文本。关于如何“获取”数据有很多,但我做了很多研究,没有发现多少关于如何“放置”数据的内容。在线上有一些问题试图做一些类似的事情,但通常是“发布”,我发现没有一个显示工作模式。有人说,对于“POST”ing或“PUT”ing数据,其“内容类型”必须是“application/x-www-form-urlencoded”,而绝不是“text/plain”。我希望同步

我知道如何使用
XMLHttpRequest()
获取
数据,还想使用
XMLHttpRequest()
数据放入文件。我想“放置”的数据是纯文本。关于如何
“获取”
数据有很多,但我做了很多研究,没有发现多少关于如何
“放置”
数据的内容。在线上有一些问题试图做一些类似的事情,但通常是“发布”
,我发现没有一个显示工作模式。有人说,对于
“POST”
ing或
“PUT”
ing数据,其
“内容类型”
必须是
“application/x-www-form-urlencoded”
,而绝不是
“text/plain”
。我希望同步执行请求,而不是使用Node.js。就我所发现的,这(下面)似乎是
“放置”
数据的方法,但不起作用

如何使用
XMLHttpRequest()
将数据“放入”


我尝试将
“text/plain”
作为
“内容类型”
,但是浏览器控制台在我要替换的资源中给我一个“语法错误”,或者如果资源为空,则告诉我“找不到元素”。

PUT创建或替换资源。因此,内容类型标题字段应包含您要发送的表示的内容类型。有关更多详细信息,请参阅。

您是否尝试过使用curl或fiddler进行PUTT?您的端点是否为PUTSRY配置了异步请求。syncxhr已被弃用,可能会在非常规请求(cor、PUT等)上引发异常。另外,您不需要设置
内容长度
,浏览器会自动为您设置。@Bergi,我尝试了一个异步请求,并注释掉了
内容长度
,但它在控制台中返回与同步请求相同的结果,并且
“PUT”所处理的资源没有变化
。我被这句话困住了-
浏览器控制台在我要替换的资源中给了我一个“语法错误”
-我一辈子都听不懂你想说什么。你能发布准确的浏览器控制台消息吗please@JaromandaX,浏览器(Firefox)准确地显示了
“syntax error data.txt:1:1”
,并且
data.txt
是我请求放置的文件。未将任何内容放入
data.txt
。这是当
data.txt
包含文本时。如果
data.txt
为空,Firefox会准确地说,
“找不到元素data.txt:1:1”
。我知道“PUT”创建或替换一个资源,并尝试将“text/plain”作为“内容类型”,但浏览器控制台会在要替换的资源中给我一个语法错误,或者告诉我如果资源为空,则找不到元素。
var string = encodeURIComponent("Text String!");
var req = new XMLHttpRequest();
req.open("PUT", "example/data.txt", false);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", string.length);
req.setRequestHeader("Connection", "close");
req.send(string);