内部JSON数组的范围与'在AJAX请求之外

时间:2017-10-12 17:45:12

标签: javascript ajax

我能够在AJAX请求中解析Json数组中的项目,但在它之外是未定义的。为什么是这样?

function samplesByDate() {
  var csrftoken = getCookie('csrftoken');
  $.ajax({
        url : "/samples/byDate/",
        type : "POST",
        data : { csrfmiddlewaretoken : csrftoken },
        success : function(json) {
      if (json['error'] === 'true' ) {
        alert(json['message']);
      } else {
        console.log(json['samples']);
        return json['samples'];
      }
    },
    error : function(xhr,errmsg,err) {
    console.log(xhr.status + ": " + xhr.responseText);
    }
  })
};

ajax函数内的控制台日志正确报告:

[
    {
        "id": 72, 
        "title": "Sample Upload 1", 
        "date": "2017-09-18", 
        "coordinates": "45.58837890625, -122.39273834228516", 
        "type_primary": "Brix", 
        "value_primary": 15.52022647857666, 
        "type_secondary": "Dry Matter", 
        "value_secondary": 16.35165786743164
    }
]

但是当我尝试在返回后打印该值时,它会改为 undefined。

console.log(samplesByDate());

控制台显示

undefined

我注意到的一点是,sampleByDate()未定义错误,因此它正确地迭代了函数,而是在尝试打印返回值时显示未定义。

0 个答案:

没有答案