weixin_33728708 2018-06-27 17:27 采纳率: 0%
浏览 603

如何解决ajax数据未定义的问题?

我有如下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处理是正确的。实际上,当我在调试工具的“网络”标签中查看时,响应显示为true。

有人可以解释这里的错误吗?

补充:php函数输出的结果是json_encoded,此函数在另一个ajax调用的.then部分中被调用。

  • 写回答

2条回答 默认 最新

  • weixin_33726943 2018-06-27 17:31
    关注

    remove .promise at the end of ajax request:

    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'
    })
    
    评论

报告相同问题?