Javascript ';未定义';尝试访问json响应时

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').

My flask应用程序具有返回以下内容的代码:

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