Did not attempt to load JSON data because the request Content-Type was not ''

Quando tento adicionar cliente da erro na requisição, so estou tentando printar o json e retornar ok, conforme na aula. Não consegui achar o motivo do erro

Mensagem de erro: "Did not attempt to load JSON data because the request Content-Type was not ‘aplication/json’ "

Codigo cliente.py

from flask import Blueprint, render_template, request
from database.cliente import CLIENTES

cliente_route = Blueprint('cliente',__name__)

#Listar os clientes
@cliente_route.route('/')
def lista_clientes():
    return render_template('lista_clientes.html',clientes=CLIENTES)

#Inserir os dados do cliente
@cliente_route.route('/',methods=['POST'])
def inserir_cliente():
    print(request.json)
    return {"ok": "ok"}
    #data = request.json
    #novo_usuario = {
    #    "id": len(CLIENTES) + 1,
    #    "nome": data['name'],
    #    "email": data['email']
    #}

    #CLIENTES.append(novo_usuario)
    #return render_template('item_cliente.html',cliente=novo_usuario)

#Formulario para cadastrar um cliente
@cliente_route.route('/new')
def form_cliente():
    return render_template('form_cliente.html')

#Exibir detalhes do cliente
@cliente_route.route('/<int:cliente_id>')
def detalhe_cliente(cliente_id):
    return render_template('detalhe_cliente.html')


#Formulario para editar um cliente
@cliente_route.route('/<int:cliente_id>/edit')
def form_edit_cliente(cliente_id):
    return render_template('form_edit_cliente.html')

#Formulario para atualizar  um cliente
@cliente_route.route('/<int:cliente_id>/update',methods=['PUT'])
def atualizar_cliente(cliente_id):
    pass

#Formulario para deletar  um cliente
@cliente_route.route('/<int:cliente_id>/delete',methods=['DELETE'])
def deletar_cliente(cliente_id):
    pass

Arquivo form_cliente.html:

<form class="c-form" action="{{ url_for('cliente.inserir_cliente') }}" method="POST">

    <div class="mb-3">
      <label class="form-label">Nome</label>
      <input type="text" class="form-control" name="nome">
    </div>

    <div class="mb-3">
        <label class="form-label">E-mail</label>
        <input type="email" class="form-control" name="email">
      </div>

    
    <button type="submit" class="btn btn-primary">Adicionar Cliente</button>
</form>

Você está usando o cru.js? Pois a mensagem de erro diz que o content-type não está definido como application/json.

A configuração assim que você importa o cru.js seria essa:

$C({
  'prefix_url': '', // '/api/v1'
  'headers': {'Content-Type': 'application/json'},
  'callbacks': {},
})

Porem em sua mensagem, aparece: aplication/json’ , que no caso está errado.

  1. application é com 2 p, no seu caso você digitou com apenas 1 p.
  2. aparentemente tem uma aspas a mais após o .../json, isso também está errado.

Se você não estiver usando o cru.js, existem diversas funcionalidades que eu utilizo no video através dos atributos que você vai precisar fazer manualmente (o que não é um problema, mas só para informar mesmo).

1 curtida