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 междоменного вызова в сервере фляги, возможно это - случай? Кто-то недавно боролся с этим?

0 ответов

Другие вопросы по тегам