function upload() {
var form = document.getElementById( "load" );
var obj = {"name":"",
"runtimeAttributes":{
"language":"",
"code":""
}};
var elements = form.querySelectorAll( "input, select" );
obj.name = elements[0].value;
r = obj.runtimeAttributes;
r.language = elements[1].value;
file = document.getElementById("code").files[0];
var reader = new FileReader();
reader.onloadend = function(event) {
var content = event.target.result;
r.code = content
var json = JSON.stringify( obj, null, ' ');
output.innerHTML = json;
var xhr = new XMLHttpRequest();
xhr.open(form.method, form.action, true);
xhr.setRequestHeader('Content-Type','application/json');
xhr.send(json);
};
reader.readAsText(file);
}
<form id = "load" method="post" action="http://localhost:8080/lambdas" onsubmit="javascript:upload()" enctype="application/json">
<input type="text" name="name" value="helloworld">
<select name="language">
<option>Python3</option>
</select>
<input type="file" name="code" id = "code">
<input type="submit" value="send">
</form>
{"message":"org.springframework.web.HttpMediaTypeNotSupportedException Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"}
В приведённом вами коде нет ошибок, вот рабочий пример:
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://httpbin.org/post', true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) return;
if (xhr.status != 200) {
console.log(xhr.status + ': ' + xhr.statusText);
} else {
console.log(xhr.responseText);
}
}
xhr.send(JSON.stringify({param: 'value'}));
Как видим, сервер обработал запрос корректно, и в заголовках присутствует корректный Content-Type
.
Судя по всему? у вас на сервер уходит другой заголовок Content-Type
, либо их несколько, ищите в коде.
Можно посмотреть актуальные заголовки запроса в DevTools
: F12 - вкладка Network(Сеть)
Должно 100% работать.
var xhr = new XMLHttpRequest();
xhr.open('POST', '/url', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send({some: 'some'});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В общем, есть 6 блоков, при клике на блок, он должен стать синим, вот мой скрипт
Всем приветПодскажите пожалуйста способы закрытия модального окна по клику на кнопку? У меня есть скрипт, который именно это и делает, но после...
Не могу разобраться, как вызвать атрибут data, есть шаблон на bootstrap, есть Notifications, вызывается он с помощью кнопки