相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

jQuery ajax成功回调函数定义

我想使用jQuery ajax从服务器检索数据.

我想将成功回调函数定义放在.ajax()块之外,如下所示.那么我需要声明变量dataFromServer如下所示,以便我能够使用成功回调中返回的数据吗?

我见过大多数人在.ajax()块内定义成功回调.如果我想在外面定义成功回调,那么以下代码是否正确?

var dataFromServer;  //declare the variable first

function getData() {
    $.ajax({
        url : 'example.com',
        type: 'GET',
        success : handleData(dataFromServer)
    })
}

function handleData(data) {
    alert(data);
    //do some stuff
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

85
推荐指数
5
解决办法
33万
查看次数

ajax请求后未定义的变量

我正在使用 jQuery。我有一个从名为“get_cats”的远程服务器获取数据的函数。我称它为用返回的值填充数组。当 AJAX 完成时,我想返回这些值。但它不起作用,返回的值未定义。这是非常基本的,但我看不出它在哪里失败。有没有人有线索?

$(function () {
        var url = "http://someurl.com/service/";
        var cats = [];
        cats = get_cats(url);

        function get_cats(url) {
            var categories = [];
            $.getJSON(url + "cats", function (data) {
                $.each(data, function (i) {
                    categories.push(data[i].name);
                });
                return categories;
            });
        }

        $(document).ajaxStop(function () {
            console.log(cats); // fails and returns undefined :'(
        });

    });
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery json

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×3

javascript ×3

jquery ×3

asynchronous ×1

json ×1

xmlhttprequest ×1