使用AJAX来回发送信息

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

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

这与您的问题更相关: http : //docs.jquery.com/Ajax/jQuery.post

提示请求test.php(HTML或XML,具体取决于返回的内容)的结果。

$.post("test.php", function(data){ alert("Data Loaded: " + data); }); 

通过额外的数据有效负载(HTML或XML,具体取决于返回的内容)来请求test.php的结果。

 $.post("test.php", { name: "John", time: "2pm" }, function(data){ alert("Data Loaded: " + data); }); 

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

 $.post("test.php", { name: "John", time: "2pm" }, function(data){ process(data); }, "xml"); 

获取以json格式返回的test.php页面内容(“John”,“time”=>“2pm”)); ?>)

 $.post("test.php", { func: "getNameAndTime" }, function(data){ alert(data.name); // John console.log(data.time); // 2pm }, "json"); 

查看json_encode()json_decode() 。 它们现在是PHP的一部分,允许您在PHP数组和关联数组(或stdClass对象)和javascript数组或对象(作为JSON文字)之间来回切换。

基本上,你可以做echo json_encode($all_my_php_data); ,而不是返回xml或html echo json_encode($all_my_php_data); 并获取一个JavaScript对象。

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

$ .post()文档

然后,您需要接收从服务器发回的内容。 您只需使用’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服务器获取数据而不需要POSTing或GETting,那么你需要实现Comet。 但那是更多的工作:)

jQuery.post函数的“ 回调 ”部分是您想要查看的内容。

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

当使用AJAX(可能通过jQuery)时,您可以向php处理程序发出请求,该处理程序将负责将信息返回给浏览器,通常格式化为JSON文字(您可以使用json_encode()对响应进行编码,如布莱恩)。 最终,您将在客户端上解析它(例如使用jQuery)来获取javascript对象。

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