JQuery POST JSON-запрос к серверу Python Flask 415 Ошибка неподдерживаемого типа носителя
У меня проблема с отправкой запроса POST от jQuery на сервер, созданный во Flask. В расширении POSTMAN для Chrome все работает нормально - ответ отправляется обратно клиенту. При отправке запроса из java-скрипта я получаю ошибку "415 Unsupported Media Type". Сервер фляги Python(3.4.x) имеет функцию:
from flask import Flask, jsonify, render_template, request
@app.route('/checers/register', methods=['POST'])
def register():
clientId = 1
print ("new client id: {0}".format(clientId))
ret = {"clientId" : clientId};
return jsonify(ret)
как я уже сказал, из параметров POSTMAN:
URL: http://localhost:8080/checers/register; Заголовок: Content-Type; Значение: приложение / JSON; Blockquote
сделал POST запрос работает нормально. В приложении Java-сценария я попробовал два подхода: во-первых, с XMLHttpRequest:
function register3() {
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
alert(xmlhttp.responseText);
}
};
xmlhttp.open("POST", "http://localhost:8080/checers/register", true);
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xmlhttp.send("");
}
и второе с jQuery:
function register() {
var arr = {a : "a"};
$.ajax({
url: "http://localhost:8080/checers/register",
type: "POST",
// The key needs to match your method's input parameter (case-sensitive).
data: JSON.stringify(arr),
contentType: "application/json; charset=utf-8",
accept: 'application/json',
dataType: "json",
success: function(data){alert(data);},
error: function(errMsg) {
alert(errMsg);
}
});
}
Конечно, я пробовал разные варианты, предложенные в стеке, ничего не получалось. Я новичок в Flask и JS, и это мой второй день борьбы с этим. Я нашел некоторую информацию о проблемах метода OPTIONS междоменного вызова в сервере фляги, возможно это - случай? Кто-то недавно боролся с этим?