Я знаю как "GET"
данные с использованием XMLHttpRequest()
, а также хотел бы использовать XMLHttpRequest()
для "PUT"
данные в файл. Данные, которые я хотел бы "PUT"
, - это просто текст. Существует много о том, как данные "GET"
, но я провел много исследований и не нашел много о том, как данные "PUT"
. Есть несколько вопросов в Интернете, пытающихся сделать что-то подобное, но обычно вместо "POST"
, и ни один из них не найден, показывая рабочую модель. Некоторые говорят, что для "POST"
ing или "PUT"
данных, его "Content-type"
должен быть "application/x-www-form-urlencoded"
и никогда "text/plain"
. Я хотел бы выполнить свою просьбу синхронно и вместо этого использовать Node.js. К тому, что я нашел, это (внизу), похоже, является способом для данных "PUT"
, но не работает.XMLHttpRequest «PUT»
Как данные должны быть "PUT"
с использованием XMLHttpRequest()
?
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);
Я попытался "text/plain"
как "Content-type"
, но консоль браузера дает мне «ошибка синтаксиса» в ресурсе, я хочу, чтобы заменить или говорит мне «ни один элемент не найден», если ресурс является пустым.
Пробовали ли вы использовать локон или скрипач ?, ваша конечная точка настроена для PUT – BhavO
Попробуйте асинхронный запрос. Sync XHR устарел и может генерировать исключения по нетрадиционным запросам (CORS, PUT и т. Д.). Кроме того, вам не нужно устанавливать «Content-length», браузер делает это автоматически. – Bergi
@Bergi, я попробовал асинхронный запрос и прокомментировал «Content-length», но возвращает тот же результат в консоли, что и запрос синхронизации, и не изменяет ресурс, на который действует '' PUT ''. – JavaScriptArray