Php 使用AJAX来回发送信息

Php 使用AJAX来回发送信息,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,使用$.post,您可以向服务器发送信息,但是当您需要从服务器接收信息时,该怎么办 信息是如何从一种可以由php变量保存的方式转变为一种可以由javascript变量保存的方式,反之亦然?请检查并查看。它们现在是PHP的一部分,允许您在PHP数组和关联数组(或stdClass对象)以及javascript数组或对象(作为文本)之间来回切换 本质上,您可以执行echo json\u encode($all\u my\u php\u data),而不是返回xml或html并返回一个javascrip

使用$.post,您可以向服务器发送信息,但是当您需要从服务器接收信息时,该怎么办

信息是如何从一种可以由php变量保存的方式转变为一种可以由javascript变量保存的方式,反之亦然?

请检查并查看。它们现在是PHP的一部分,允许您在PHP数组和关联数组(或stdClass对象)以及javascript数组或对象(作为文本)之间来回切换

本质上,您可以执行
echo json\u encode($all\u my\u php\u data),而不是返回xml或html
并返回一个javascript对象

如果将'json'作为$.post()的类型参数传递,则成功回调将包含您在PHP脚本中回显的json对象


这与您的问题更相关:

从请求test.php(HTML或XML,取决于返回的内容)中发出警报以显示结果

使用额外的数据负载(HTML或XML,取决于返回的内容)警告请求test.php的结果

获取test.php页面内容,将其存储在XMLHttpResponse对象中,并应用process()JavaScript函数

$.post("test.php", { name: "John", time: "2pm" },
  function(data){
    process(data);
  }, "xml");
获取以json格式返回的test.php页面内容(“John”,“time”=>“2pm”);?>)


然后您需要接收从服务器发回的内容。您只需使用'data'参数为$.post定义回调函数。例如:

$.post('/index.php', { key: 'value' }, function(data) { alert(data); });
您可以指定返回值的类型,以便jQuery可以自动处理它。如果从PHP脚本返回JSON值,则应在末尾添加其他参数:

$.post('/index.php', { key: 'value' }, function(data) {
    alert(data.someItem);
  }, 'json');

但如果您需要从PHP服务器获取数据而不首先发布或获取任何内容,则需要实现Comet。但这需要做更多的工作:)

函数的“”部分就是您想要查看的部分。

在http中,您执行从客户端(web浏览器中的javascript)到服务器的请求,然后处理后者返回的信息。信息在两种通信中的表示方式由您选择

使用AJAX(可能通过jQuery)时,您可以向负责将信息返回到浏览器的php处理程序发出请求,该处理程序通常采用文本格式(您可以按照Brian的建议,使用json_encode()对响应进行编码)。最终,您将在客户机上解析它(例如,使用jQuery)以获得javascript对象


($.post(url、[data]、[callback]、[type])函数将自动解析响应并将其传递给回调函数,回调函数的签名应为callback(data,textStatus),其中数据为解析对象,textStatus报告成功或失败状态()。

所有主要Comet实现都使用GET或post。
$.post("test.php", { func: "getNameAndTime" },
  function(data){
    alert(data.name); // John
    console.log(data.time); //  2pm
  }, "json");
$.post('/index.php', { key: 'value' }, function(data) { alert(data); });
$.post('/index.php', { key: 'value' }, function(data) {
    alert(data.someItem);
  }, 'json');