Не работает post запрос dojo
Всем добрый день. Занялся изучением dojo и столкнулся с тем что мой post запрос не отправляется на сервер в консоли выдаются вот такие ошибки
1):8080/insert:1 Failed to load resource: the server responded with a status of 415 () 2)(index):41 Uncaught TypeError: Cannot read property 'post' of undefined at send ((index):41) at HTMLButtonElement.onclick ((index):36)
Вот отрезок кода который не работает, да и ещё зачем то пытается отправить запрос при открытии этой формы, если я правильно понимаю первую ошибку из текста выше
<div class="dijitHidden">
<form data-dojo-type="dojox/form/Manager" id="myForm" jsId="myForm" encType="multipart/form-data"action="/insert" method="post">
<div data-dojo-type="dijit/Dialog" style="width:600px;" data-dojo-props="title:'Добавить новый пост'" id="terms">
<p><strong>Изложите свои мысли:</strong></p>
<div style="height:150px;overflow-y:scroll;border:1px solid #769dc4;padding:0 10px;width:570px"
data-dojo-type="dijit/form/ValidationTextBox" id="textPost"></div>
<button id="submitBut" type="submit" onclick="send()">Добавить</button>
<button onclick="hideDialog();">Отменить</button>
<script>
require(["dojo/request"],
send = function(request){
request.post("/insert", {
data: {
color: "blue",
answer: 42
},
headers: {
"X-Something": "A value"
}
}).then(function(text){
console.log("The server returned: ", text);
});
});
</script>
</div>
</form>
Код запроса взят с официального сайта dojo. Помогите разобраться в проблеме, буду очень благодарен
Ответы (1 шт):
Разобрался что к чему чтобы работало с json надо чтобы было вот так
require(["dojo/request/xhr", "dojo/on", "dojo/dom", "dojo/domReady!"],
function (xhr, on, dom) {
on(dom.byId("submitBtn"), "click", function () {
var blogText = dom.byId("textPost").value;
xhr("http://localhost:8080/myservice", {
method: "POST",
handleAs: "json",
headers: {'Content-Type': 'application/json'},
data: {
blogText: blogText
}
}).then(function (jsonData) {
location.reload();
}, function (err) {
alert("Your message could not be sent, please try again.");
}, function (evt) {
});
});
});
Единственное что смущает это location.reload(); Хотелось бы без нее, но как я не знаю.....