jQuery的AJAX:成功的返回值 [英] jQuery AJAX: return value on success

查看:153
本文介绍了jQuery的AJAX:成功的返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

        function ChatServerQuery(data_json) {

        var result = null;

        $.ajax({
            url: 'chat/backend/',
            type: 'POST',
            data: data_json,
            success: function(json) {
                result = json
            }
        })

        return result

    }

My功能,其执行一请求到服务器。问题是,我不能从服务器返回的文本接收。我不知道该怎么走,从一个匿名函数(事件成功)ChatServerQuery(在那里你可以很容易地把它找回来)。

My function that executes a request to the server. The problem is that I can not return received from the server text. I do not know how to take from an anonymous function (event success) to ChatServerQuery (where you can easily get it back).

推荐答案

您最好改变你的方法来反映AJAX请求的异步性。

You'd better change your approach to reflect an asynchronous nature of AJAX request.

function ChatServerQuery(data, callback) {
    $.ajax({
        url:  'chat/backend/',
        type: 'POST',
        data: data,
        success: callback
    });
}

然后你可以使用它:

Then you would use it:

ChatServerQuery(dataObject, function(data) {
    // work with your data came from server
});

使用承诺对象

$。fn.ajax 返回对象实施的无极的iterface,所以你可以使用这样的:

Using promise object

$.fn.ajax returns object implementing Promise iterface, so you can use it like this:

function ChatServerQuery(data) {
    return $.ajax({
        url:  'chat/backend/',
        type: 'POST',
        data: data
    });
}

ChatServerQuery(dataObject).done(function(data) {
    // work with your data came from server
});

此选项为您提供了更多的灵活性。

This option offers you more flexibility.

这篇关于jQuery的AJAX:成功的返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆