【问题标题】:jQuery get request returning undefined valuejQuery获取请求返回未定义的值
【发布时间】:2018-07-26 21:26:43
【问题描述】:

我正在尝试编写一个函数,该函数将从本地托管的 api 返回数据,以便我可以在使用 var baseUrl = 'http://localhost:3000'; 时调用该函数来获取更新的数据;

这是我的获取请求:

var baseUrl = 'http://localhost:3000';
function getData(){
    $.ajax({
        type: "GET",
        url: baseUrl + "/jobs", 
        data: "{}",
        success: function(data){
            console.log(data);   
            return data;
        },
        dataType: 'json'
    });

}

这是一个将请求的响应设置为不同文件中的变量的示例:

var myVariable = getData();

当我尝试打印 myVariable 时,它​​返回为未定义。有没有办法获取返回的 json 对象,以便在我的程序中使用它?

【问题讨论】:

标签: javascript jquery ajax get request


【解决方案1】:

$.ajax 是异步的。这意味着,当请求等待响应时,其他 JavaScript 代码会运行,因此用户不必等待。 (如果代码等待响应,我们称之为阻塞线程。否则它是非阻塞)。作为一种解决方案,您将不得不编写一些异步代码和一个回调函数

var baseUrl = 'http://localhost:3000';
function getData(){
$.ajax({
    type: "GET",
    url: baseUrl + "/jobs", 
    data: "{}",
    success: function(data){
        // call the 'callback function'
        myCode(data);
        // the return statement would only return this functions, not the $.ajax method
    },
    dataType: 'json'
});

}

function myCode(data) {
    // use data
}

【讨论】:

  • 所有这些以及更多内容都已包含在重复的帖子中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 2012-12-04
  • 2017-06-26
  • 2023-04-03
  • 2018-08-09
相关资源
最近更新 更多