我一直在研究PHP一段时间,现在和Ajax约一个月或两个月。我仍然无法弄清楚PHP如何将数据发送到Ajax以及Ajax如何检索数据。PHP如何将数据发送到Ajax?
任何人都可以发布一个例子或东西吗?
也许在提交一些文本之后..PHP将数据发送到数据库,但Ajax如何接收并将其发布到指定的字段而不刷新?
如果有帮助,我使用jQuery很多,所以如果你做一个Ajax请求PHP脚本我会使用它与阿贾克斯也
我一直在研究PHP一段时间,现在和Ajax约一个月或两个月。我仍然无法弄清楚PHP如何将数据发送到Ajax以及Ajax如何检索数据。PHP如何将数据发送到Ajax?
任何人都可以发布一个例子或东西吗?
也许在提交一些文本之后..PHP将数据发送到数据库,但Ajax如何接收并将其发布到指定的字段而不刷新?
如果有帮助,我使用jQuery很多,所以如果你做一个Ajax请求PHP脚本我会使用它与阿贾克斯也
它实际上比你想像的要复杂得多。把AJAX想象成只是请求任何旧网页,诀窍就是它在幕后执行,“即时”,而不考虑浏览器的URL栏中的任何内容。
在这个意义上,你几乎问错了问题(几乎),因为它并不重要(在某种程度上)PHP如何服务的页面。 AJAX可以请求从PHP提供的任何页面。因此,举例来说,假设你有一个简单的PHP页面,看起来像这样:
<?php
$content = '<div class="content">content</div>';
echo $content;
?>
而且你将文件保存为/content.html
从另一个页面,您可以动态加载的内容,使用AJAX,并作为jQuery是自己的喜好,可能是这样的:
$('#result').load('/content.html #content');
.load()是特定类型的AJAX功能(有多种,最基本的幸福。阿贾克斯()我相信)负载HTML内容直接进入给定页面。在这种情况下,上面发生的事情是,当你调用.load()函数时,它通过AJAX /content.html加载到内存中,查找名为#content的元素(这恰好是一个div),然后插入加载的#content元素放入#result元素中。
请注意,我之前说“几乎”和“某种”的原因在于,这取决于您在做什么,如何格式化您的PHP页面,这一点很重要。例如,请求使用AJAX格式的页面很常见,格式为XML,JSON或只是普通的旧HTML片段。当然,这是一个更密集的主题,但这里有几个示例教程:
http://www.xoops.org/modules/news/article.php?storyid=5103 http://www.factsandpeople。com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and -php http://www.phpriot.com/articles/php-json-jquery-ajax-screencast
希望至少有所帮助。然而,网上有几千个教程,只需在Google上搜索应该会产生大量的结果。
,
任何你echo
在PHP中会出现在Ajax请求的响应主体中。正如@webbiedave所说,这可以是例如明文,XML或HTML或JSON编码数据。
您在PHP脚本中输入的任何状态码(例如header("HTTP/1.1 404 Not Found")
)都会反映在Ajax结果中。如果抛出一个不成功的HTTP状态代码(例如404
或500
),则Ajax请求将失败,并且(如果您使用jQuery的Ajax)将调用error
回调。
它只是在浏览器中发送请求到服务器,只在后台进行,不需要重新加载。收到的数据是页面的内容。如果您在浏览器中打开网址,您也会看到相同的结果。
HTTP是一个调用和响应协议。当客户端使用AJAX向服务器发送请求时,请使用PHP输出XML,JSON或HTML。 – webbiedave 2011-01-09 00:13:06
当您使用Ajax调用PHP页面时,页面上的任何内容都将通过XMLHttpRequest.responseText传递回您的Javascript。阅读Ajax教程,它会向你解释一切。 – Jonah 2011-01-09 00:13:40
我明白,我还是不明白。 – nowayyy 2011-01-09 00:17:27