在函数中获取$ .ajax调用的responseText并返回它

时间:2015-08-06 11:41:40

标签: javascript jquery ajax json

我有自定义功能。在这个函数内部是一个$.ajax调用,它返回一个我想用JSON.parse转换为JSON然后返回的字符串。

现在,我想出了如何返回字符串,然后在返回数据时返回另一侧的JSON.parse。但是,当我尝试将字符串转换为函数中的JSON并返回它时 - 这不起作用,我不明白为什么。

我的猜测是我不明白如何处理$.ajax返回对象以及如何从此对象中检索responseText。

这是我的代码;

$.plugin.ownfunction = function(options) {

    var promised_data = $.ajax({
            method: "POST",
            url: "plugin/php/somephp.php",
            data: opts
    })


    // this does not work
    // promised_data = JSON.parse(promised_data);

    // this also does not work
    // promised_data = JSON.parse(promised_data.responseText);

    return promised_data;
};

另一方面,我这样做;

$.database.readbehavior({ some options }).done(function(data) {

        // this does work – but I would like to do the JSON.parse already in the function
        var x = JSON.parse(data);
        console.log(x);


});

编辑: 我很抱歉不同意 - 但这不是如何从异步调用中返回响应的重复?主题。我设法从异步调用返回响应。问题是这个响应的格式,我遇到了麻烦。

溶液: 正如哈克托在评论中指出的那样;将dataType : "json"添加到$.ajax调用会将数据作为JSON返回。问题解决了!谢谢!

0 个答案:

没有答案