如何将我的ajax结果输出到php变量?

时间:2016-06-23 17:01:52

标签: javascript php jquery ajax

我将Ajax结果存储到div元素中。这很好用:

的index.php:

In [25]: df['C'] = df.groupby(['A','B']).cumcount()+1; df
Out[25]: 
   A  B  C
0  A  a  1
1  A  a  2
2  A  b  1
3  B  a  1
4  B  a  2
5  B  a  3

myajax.php:

<div id="result"></div>

function submit($form) {
    $.ajax('myajax.php', {
        method: 'POST',
        data: $form.serialize(),
        success: function (result) {
            $('#result').html(result);
        }
    });
}

我想做点什么:

echo "12345";

是否可以以这种方式将结果而不是div输出到PHP变量中?或者,还有另一种方法可以实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

是的,使用你提出的技术是完全可能的。事实上,Ajax的基本目的是收集一些可以在客户端获取的信息,并将其异步发送到后端服务器(在本例中为PHP),而不需要替换客户端页面。

为什么要这样做?以下是一些常用的示例:

  • 从用户那里获取表单输入
  • 异步上传文件数据
  • 聊天(虽然现在有更好的选择)
  • 协作演示和设计(也提供更好的选择)

一些不太常见的例子:

  • 使用客户端资源(CPU,内存)执行分布式计算(想想:SETI @ home,但是通过浏览器)
  • 客户端运行状况/在线检查,用于将唯一令牌(例如CSRF)发送回计时器上的服务器
  • 将浏览器用作轻量级,专用的Web / API scraper / parser

如果没有您尝试发送的数据的确切详细信息,则无法提供比您已提供的更好的示例。请注意,如果您打算序列化表单(要传输的数据),您将无法将数据存储在<div>;您必须a)使用隐藏的表单字段,或b)手动序列化您要发送的元素。

你的问题表明你肯定正在思考正确的方向,而且我很想知道你实际想要完成什么来提供更全面的答案。