javascript - AJAX 方法 Jquery 无法返回数据

标签 javascript jquery ajax methods return

我无法在 Jquery 中返回 ajax 请求的值。这是我的代码:

    function ajaxUniversal(datos, url) {
    $.ajax({
        url: url,
        data: {
            valores: datos
        },
        type: "POST",
        dataType: "html",
        success: function (data) {
            console.log("Datos recibidos: "+data)
            return data; //This does not returns the data
        },
        error: function (errorThrown) {
            return false;
        }
    });
}

如果我将 return 语句添加到最后:

function ajaxUniversal(datos, url) {
    $.ajax({
        url: url,
        data: {
            valores: datos
        },
        type: "POST",
        dataType: "html",
        success: function (data) {
            console.log("Datos recibidos: "+data)
            return data;
        },
        error: function (errorThrown) {
            return false;
        }
    });
    return data;//This is the statement but not works
}

我得到这个错误: 未捕获的 ReferenceError:数据未定义 我怎样才能返回数据?谢谢。抱歉我的英语不好,但我会说西类牙语。

最佳答案

Ajax 调用是异步的,因此您不能立即从它们返回值。相反,他们返回一个返回值的 promise ,因此您可以做的是:

function ajaxUniversal(datos, url, callback) {
return $.ajax({
    url: url,
    data: {
        valores: datos
    },
    type: "POST",
    dataType: "html"
});
}

然后这样调用它:

ajaxUniversal( datos, url, callback ).then( function(data){

     //manipulate data here

});

关于javascript - AJAX 方法 Jquery 无法返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980452/

相关文章:

javascript - 使用 ASP.Net ajax 库进行跨浏览器 Xml 操作

javascript - 如何通过 Javascript/React 中的 props 对使用 map 方法的数组进行排序

javascript - 我无法使用 Javascript (Ajax) 从 PHP 获得回复。虽然我能够在 PHP 页面上显示结果,但我希望将其返回到 HTML 页面上

javascript - jQuery 插件 SimpleModal body onclick 关闭不工作

php - 如何根据表单中输入的信息进行实时预览? PHP/ Ajax ?

jquery - 尝试使用客户端 jquery 和 ajax 更新 Facebook Open Graph 元标记

javascript - nedd将html参数传递给iframe

javascript - 复制图片网址到输入

javascript - 延迟加载 "responsive"图片(未知高度)

javascript - 有没有一个好的网络应用程序来操作pdf文件?