首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery ajax post可以返回一个以上的变量吗?

问jquery ajax post可以返回一个以上的变量吗?
EN

Stack Overflow用户
提问于 2009-08-11 13:30:25
回答 1查看 498关注 0票数 0

我正在尝试做一个评论系统与jquery和ajax,有时我要求用户输入验证码图像时,他们太频繁了。

我正在使用jquery的facebox插件,它是一个弹出式对话框。

我正在触发这个框打开,当后端脚本告诉它用户需要输入验证码时,它会弹出这个框并在屏幕上加载php验证码文件。

这就是我遇到麻烦的地方,我需要这个框不仅打开验证码,而且还将评论填充到这个框中,就像一个隐藏的表单字段,这样如果用户输入了正确的验证码,它就会发布评论,否则,他们正在批准验证码,然后什么都不会发生,所以我需要发布评论。另外,如果他们得到了错误的验证码,然后我需要重新加载验证码与那里的注释仍然存在,这应该很容易,如果我可以让第一部分工作。

到目前为止,这是我的代码,有人能帮上忙吗?

代码语言:javascript
复制
$.ajax({
    type: "POST",
    url: "process.php",
    data: args,
    cache: false,
    success: function (data) {
        // there was an error so we will show an error message
        if (data == 'error') {
            alert(data);
            //we need the user to submit a captcha to post there data
        } else if (data == 'captcha') {
            jQuery.facebox(function () {
                jQuery.facebox({
                    ajax: 'captchabox.php'
                })
            })
            //everything is all good, let post there comment
        } else {
            $('#comments').prepend(data);
            $(this).remove();
        })
    };

    // remove loading image
    $('#load').fadeOut();
}
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-11 13:43:03

是的,它可以,但它更多地依赖于您要发布的内容,而不是jQuery本身;也就是说,您正在利用哪个页面或Yes服务进行处理。您可以将复杂对象作为服务调用(使用JSON或XML)、数组或单个响应的结果返回。

在您的process.php上,它可以返回一个response对象,其中包含一个表示成功的值(true/false)、reason/message (字符串),以及您可能需要的任何其他数量的值。然后在你的代码中你可以检查:

代码语言:javascript
复制
if (data.Success) { /* code here */ } else { ... }

参见下面的链接,通过PHP返回JSON:http://us2.php.net/manual/en/book.json.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1260383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档