我一直在研究PHP一段时间,而Ajax已经研究了一两个月。我仍然无法弄清楚PHP如何将数据发送到Ajax以及Ajax如何检索数据。
任何人都可以发布示例或其他内容吗?
也许在提交一些文本之后...... PHP将数据发送到数据库,但是Ajax如何接收它并将其发布到指定的字段而不刷新?
如果有帮助,我会使用jQuery,所以我也会在AJax上使用它,
答案 0 :(得分:4)
它实际上比您想象的要复杂得多。将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函数(有几种,最基本的是.ajax()我认为)将HTML内容直接加载到给定页面中。在这种情况下,上面发生的是当你调用.load()函数时,它通过AJAX /content.html加载到内存中,查找名为#content的元素(碰巧是div),然后插入加载的#content元素进入#result元素。
请注意,我之所以说“差不多”和“有点”的原因在于它会很重要,这取决于你正在做什么,如何格式化PHP页面。例如,通常使用XML,JSON或纯HTML旧片段格式化请求具有AJAX的页面。当然,这是一个更加密集的主题,但这里有几个示例教程:
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
希望至少有所帮助。但是,在网上有一个THOUSAND教程,只需在Google上搜索就可以产生大量的结果。
答案 1 :(得分:1)
如果您向PHP脚本发出Ajax请求,
PHP中echo
的任何内容都会出现在Ajax请求的响应主体中。正如@webbiedave所说,这可以是例如明文,XML,HTML或JSON编码数据。
您在PHP脚本中抛出的任何状态代码(例如header("HTTP/1.1 404 Not Found")
)都将反映在Ajax结果中。如果抛出一个不成功的HTTP状态代码(例如404
或500
),Ajax请求将失败,并且(如果使用jQuery的Ajax)将调用error
回调。 / p>
答案 2 :(得分:1)
它只是在浏览器中向服务器发送请求,只在后台发送,而不重新加载。接收的数据是页面的内容。如果你在浏览器中打开网址,就会看到同样的情况。