javascript - ajax promise 数据未定义

标签 javascript php jquery ajax promise

我对此有些头疼。我有一个这样的 ajax 调用:

function genericname()
{
    var domain = $('#input').val();
    var sendData = {
        'domain': domain
    };

    var promise = $.ajax(
    {
        type: 'POST',
        url: '/functions.php',
        data:
        {
            module: 'modulename',
            operation: 'functionname',
            parameters: sendData
        },
        dataType: 'json'
    }).promise();

    promise.then(function(data)
    {
        console.log(data);
        return data;
    });

    promise.fail(function(data)
    {
        console.log(data);
    });
}

现在的问题是,在调试时我注意到 promise.then 和 promise.fail 都被跳过了。我调用输出的 php 过程是真实的。实际上,当我查看调试工具的网络选项卡时,响应是正确的。

谁能解释一下这里的错误是什么?

编辑:php 函数输出的结果是 json_encoded

这个函数正在另一个 ajax 调用的 .then 部分被调用

最佳答案

删除 ajax 请求末尾的 .promise:

var domain = $('#input').val();
var sendData = {
    'domain': domain
};

var promise = $.ajax(
{
    type: 'POST',
    url: '/functions.php',
    data:
    {
        module: 'modulename',
        operation: 'functionname',
        parameters: sendData
    },
    dataType: 'json'
})

关于javascript - ajax promise 数据未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068423/

相关文章:

php - Laravel/PHP 命名空间路径的简写

php - PHP 上的 shell_exec 和 exec 没有返回字符串

php - 谷歌地图实时跟踪

javascript - 如何自动补全文本区域中从 javascript/jquery 中的第三个单词开始的每一行?

javascript - 在 Vim 中缩进 Javascript - 函数中 Lambda 函数的问题

javascript - jquery: "$(this)"到底是什么意思?

javascript - JQuery 容器操作

jquery - 将多个表转换为节

javascript - 使用 jquery 和 ajax 将图像加载到 div 标签

javascript - 如何使用 SS 2.0 将计划脚本中的用户名传递给 PDF 模板?