Javascript ';未定义';尝试访问json响应时
My flask应用程序具有返回以下内容的代码:Javascript ';未定义';尝试访问json响应时,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,My flask应用程序具有返回以下内容的代码: return json.dumps({'status': 'OK','url': 'www.blahg.com'}) 我的javascript代码如下所示: $(function() { $('#mainbutton').click(function() { $.ajax({ url: '/buttonclick', data: $('form').
return json.dumps({'status': 'OK','url': 'www.blahg.com'})
我的javascript代码如下所示:
$(function() {
$('#mainbutton').click(function() {
$.ajax({
url: '/buttonclick',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
console.log(response);
console.log(response.url);
},
error: function(error) {
console.log(error);
}
});
});
});
第一个控制台日志看起来是正确的:
{“status”:“OK”,“url”:“www.blahrg.com”}
,但是当我尝试访问url
条目时,我会得到“undefined”作为输出。我做错了什么?您还没有解析JSON:
success: function(data) {
var response = JSON.parse(data);
console.log(response);
console.log(response.url);
}
您还可以使用
dataType
让jQuery为您解析它:
$(function() {
$('#mainbutton').click(function() {
$.ajax({
url: '/buttonclick',
data: $('form').serialize(),
type: 'POST',
dataType: 'json', // this bit here
success: function(response) {
console.log(response);
console.log(response.url);
},
error: function(error) {
console.log(error);
}
});
});
});
您确定它不是字符串
“{”status:“OK”,“url:“www.blahrg.com”}”
?尝试var response=JSON.parse(response)
是否可能response
是JSON字符串?首先尝试使用JSON.parse