ajax的400错误,由于json错误,ajax请求给出400错误

  • Post author:
  • Post category:其他


好的!!我正在构建一个flask web应用程序,我想使用Ajax发送一些json数据

这是我的密码!!对于HTML和js:

Check your Grades

welcome to grade predictor app,

Dear Plateform,

je viens

de

et

dans

l’option

name=”OPTION_RIGHT” id=”OPTION_RIGHT” data-provide=”typeahead” placeholder=”(choisissez votre option )” required>

j’ai obtenu

% à l\’exetat


send

var csrf_token = “{

{ csrf_token() }}”;

// this will send a token each time before a session started

$.ajaxSetup({

beforeSend: function(xhr, settings) {

if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {

xhr.setRequestHeader(“X-CSRFToken”, csrf_token);

}

}

});

//submit form data

$(“form#predict-form”).submit(function(e){

console.log(“form submitted”)

e.preventDefault();

var data = {

}

var Form = this;

//Gathering the Data

//and removing undefined keys(buttons)

$.each(this.elements, function(i, v){

var input = $(v);

data[input.attr(“name”)] = input.val();

delete data[“csrf_token”];

delete data[“undefined”];

});

data[“DIPPERC”] = data[“DIPPERC”]/100.0

//Form Validation goes here….

//Save Form Data……..

$.ajax({

cache: false,

url : “{

{url_for(‘predict’)}}”,

type: “POST”,

contentType: “application/json; charset=utf-8”,

dataType: “json”,

data : JSON.stringify(data),

success : function(callback){

//Where $(this) => context == FORM

console.log(“data sucessfuly submitted”)

console.log(JSON.parse(callback));

}

,

error : function(){

console.log(‘erroor’)

}

});

})

我已经尽了一切可能,但还是出了400错误!

我检查了所有相关的问题,但什么也没查到。在

但我的研究表明,400误差可能是由以下原因引起的:从here可以看出:The HTTP 400 Bad Request response status code indicates that the server could not understand the request due to invalid syntax. The client should not repeat this request without modification.Csrf令牌丢失this我已经添加了该令牌,并尝试使用将数据发送到路由csrf.豁免但什么都没有

未设置ContentType和applicationType(已设置但未设置)

已经查过官方的烧瓶文件了他们说:(来自)

我正在发送正确的json数据

那么是什么导致了这个问题???

这是我的简单视图函数

^{pr2}$

注意,在我的测试中,当我通过python直接将数据发送到我的路由时,它使用以下代码:def test_1_can_connect_post(self):

“””

Test API can create a (POST request)

“””

new_student = {

‘DIPPERC’:0.60, ‘SCHOOL_RIGHT’:’itfm/bukavu’, ‘OPTION_RIGHT’:’elec indust’

}

res = self.client().post(‘predictions/predict/’, data=json.dumps(new_student), content_type=’application/json’)

self.assertEqual(res.status_code, 201)

Ps:我确信我遗漏了一点东西,但不知道是什么,可能是ajax异步出错了。。。。。在