Javascript AJAX成功的原因:JSON数据是;“无效”;
我很困惑,为什么我的名为JSON数据的烧瓶没有被其他地方运行良好的ajax成功等待语句读取。我意识到这是成功的:语句应该等待数据返回,但返回的数据不能像任何JSON一样访问。没有控制台或浏览器控制台错误来指示数据被视为“无效”的原因 烧瓶功能Javascript AJAX成功的原因:JSON数据是;“无效”;,javascript,jquery,json,ajax,flask,Javascript,Jquery,Json,Ajax,Flask,我很困惑,为什么我的名为JSON数据的烧瓶没有被其他地方运行良好的ajax成功等待语句读取。我意识到这是成功的:语句应该等待数据返回,但返回的数据不能像任何JSON一样访问。没有控制台或浏览器控制台错误来指示数据被视为“无效”的原因 烧瓶功能 @blueprint.route('/target_liner') def target_liner(): ind_id = int(request.args.get('ind_id')) label = "1508 Loss
@blueprint.route('/target_liner')
def target_liner():
ind_id = int(request.args.get('ind_id'))
label = "1508 Loss Correction"
data = '[{"Program_Name":"' + label + '"}]'
return data
JSON数据
[{“程序名称”:“1508丢失更正”}]
//这是经确认的合法JSON
Javascript
function updates() {
$.ajax({
url: "/target_line",
method: "GET",
data: {
ind_id: 1508
},
success: function (data) {
console.log(data);
alert(data); // This shows the JSON string correctly in Chrome Inspect console
alert(data.Program_Name);
alert(data[0]['Program_Name']);
alert(data[0].Program_Name );
}
});
};
updates();
你有三种可能:
$.ajax({
url:“/target\u line”,
方法:“获取”,
数据:{
识别号:1508
},
成功:功能(数据){
data=JSON.parse(数据);
控制台日志(数据);
console.log(Object.keys(数据[0])[0]);//打印:程序名
console.log(数据[0]。程序名称);//打印:1508丢失更正
}
});
返回的数据是一个字符串。您可以在成功后执行JSON.parse(数据),也可以在ajax请求中使用数据类型:“JSON”。如果在使用数据类型“JSON”时JSON字符串的格式不正确,则可能会出现解析错误。您的数据
是一个字符串。它没有被解析成一个对象。尝试向$.ajax({})
调用添加数据类型:“json”
。立即解决了问题。我以前试过这个,但一个不相关的问题让我把它取了下来——thx火箭@RocketHazmatOr第四,只需使用$.getJSON()