当前位置: 首页 > 面试题库 >

jQuery AJAX:成功返回值

邹华皓
2023-03-14
问题内容

function ChatServerQuery(data_json) {

        var result = null;

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

        return result

    }

我执行对服务器的请求的功能。问题是我无法返回从服务器收到的文本。我不知道如何从匿名函数(事件成功)转移到ChatServerQuery(可以在其中轻松将其取回)。


问题答案:

您最好更改您的方法以反映AJAX请求的异步性质。

使用回调函数

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

然后,您将使用它:

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

使用承诺对象

$.fn.ajax返回实现Promise
iterface的对象,因此您可以像这样使用它:

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

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

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



 类似资料:
  • 基类控制器里有success方法,用于api的成功返回输出 /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param mixed $data 返回的数据 * @param array $header 发送的Header信息 * @return void */ protected f

  • 我已经构建了一个使用AJAX提交表单数据的登录脚本。 PHP部分在没有AJAX的情况下运行良好。但是系统不能与AJAX实现一起工作。 它始终显示以下消息,即使 PHP 文件返回 true[正确的用户名 用户名/密码不正确 超文本标记语言Result Div JQuery fn_login.php 有人可以指出代码/实践中的错误吗? 刚刚尝试禁用AJAX,当用户名/密码正确时,PHP文件可以正确回显

  • 问题内容: 我有以下JS 和以下控制器代码: addarticle()javascript ajax可以运行并将vars发送到服务器并进入db,但是,javascript然后将运行错误函数而不是成功函数。http响应代码是200,我以为它将运行Success函数。有什么建议? 问题答案: 您需要从控制器返回json,因为这是jQuery期望的。您可以返回即 或者,您可以将html设置为数据类型(也

  • 如何在jQuery AJAX中更改成功块中freemarker变量的值,我的页面有两个控制器第一个控制器使用GET方法返回一个带有视图名称的简单字符串,第二个控制器使用json和POST方法处理数据 给你 我的第二个控制器 我的Json方法 我的传呼myform.html 到目前为止,我的freemarker变量得到了我放在success块中的值,但在我按下submit按钮之前它显示为succes

  • 使用PayPalPHP SDK,我正在创建付款并接收JSON响应,例如下面的示例,该示例看起来有效,并包含授权URL,例如: https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-结帐 我进入网址,登录,它用以下GET变量将我重定向回我的网站: paymentId=PAY-67S97196TG1078736LIKMI4Q 问题是,根据

  • 问题内容: 使用PHP,我试图删除一条记录,但是我想检查它是否成功。成功有回报吗? 另外,您是否知道其他方法来检查DELETE是否成功?还是我最好在删除行之前先确保该行存在?如果可能,我正尝试避免再次查询。 问题答案: 假设您正在使用mysql_query: 对于其他类型的SQL语句INSERT,UPDATE, DELETE ,DROP等,mysql_query()成功返回TRUE,错误返回FAL