0
$(function() {

    var sineData;

    $.ajax({
        url : '../_php/loadFromDB.php',
        type : 'POST',
        data : 'getSines',
        dataType : 'json',
        success : function (result) {
            console.log(result);
            sineData=result; 
        },
        error : function () {
           alert("error");
        }
    })

});

在控制台->全部->萤火虫中的响应下,我按预期得到以下信息:

[{"userID":"1","email":"user@mail.com","number":"800.256.6547","ext":"5788","startDay":"Sunday","endDay":"Thursday"}]

但是当我看它时sineData它是未定义的。

我希望能够访问这些值,例如 sineData[0].email

我哪里错了?


async: false, 最终为我解决了这个问题,但可能不是大多数应用程序的最佳解决方案。

4

1 回答 1

1

您可能正在 ajax 调用之外访问 sineData。您正在尝试在异步调用完成之前访问它。尝试这个:

function whenIsDone(result){
  // Do whatever you want with the variable result
  console.log(result[0].email);
}
    $.ajax({
        url : '../_php/loadFromDB.php',
        type : 'POST',
        data : 'getSines',
        dataType : 'json',
        success : whenIsDone,
        error : function () {
           alert("error");
      }
  })
于 2013-09-10T09:24:45.607 回答