PHP如何将数据发送到Ajax?

PHP如何将数据发送到Ajax?,php,jquery,ajax,Php,Jquery,Ajax,我学习PHP已经有一段时间了,学习Ajax已经有一两个月了。我仍然不知道PHP如何将数据发送到Ajax,以及Ajax如何检索数据 有人能举个例子吗 也许在提交了一些文本之后。。PHP将数据发送到数据库,但是Ajax如何接收数据并将其发布到指定字段而不刷新 如果有帮助的话,我经常使用jQuery,所以我也会将它与AJax一起使用,如果您向PHP脚本发出AJax请求 PHP中的任何echo都将出现在Ajax请求的响应体中。正如@webbiedave所说,可以是例如明文、XML、HTML或JSON编

我学习PHP已经有一段时间了,学习Ajax已经有一两个月了。我仍然不知道PHP如何将数据发送到Ajax,以及Ajax如何检索数据

有人能举个例子吗

也许在提交了一些文本之后。。PHP将数据发送到数据库,但是Ajax如何接收数据并将其发布到指定字段而不刷新


如果有帮助的话,我经常使用jQuery,所以我也会将它与AJax一起使用,

如果您向PHP脚本发出AJax请求

  • PHP中的任何
    echo
    都将出现在Ajax请求的响应体中。正如@webbiedave所说,可以是例如明文、XML、HTML或JSON编码的数据

  • 您在PHP脚本中抛出的任何状态代码(例如
    头(“HTTP/1.1 404未找到”)
    )都将反映在Ajax结果中。如果抛出未成功的HTTP状态代码(例如
    404
    500
    ),Ajax请求将失败,并且(如果使用jQuery的Ajax),将调用
    错误
    回调


如果您向PHP脚本发出Ajax请求

  • PHP中的任何
    echo
    都将出现在Ajax请求的响应体中。正如@webbiedave所说,可以是例如明文、XML、HTML或JSON编码的数据

  • 您在PHP脚本中抛出的任何状态代码(例如
    头(“HTTP/1.1 404未找到”)
    )都将反映在Ajax结果中。如果抛出未成功的HTTP状态代码(例如
    404
    500
    ),Ajax请求将失败,并且(如果使用jQuery的Ajax),将调用
    错误
    回调


它只是像浏览器一样向服务器发送请求,只在后台发送,不需要重新加载。接收到的数据是页面的内容。如果在浏览器中打开url,也会看到相同的结果。

它只是像浏览器一样向服务器发送请求,只在后台发送,而不重新加载。接收到的数据是页面的内容。如果在浏览器中打开url,您也会看到相同的结果。

实际上,这比您想象的要简单得多。把AJAX想象成只是请求任何旧网页,诀窍在于它在幕后“动态地”请求,而不考虑浏览器URL栏中的任何内容

从这个意义上讲,您几乎问错了问题(几乎),因为PHP如何服务页面并不重要。AJAX可以请求从PHP提供的任何页面。例如,假设您有一个简单的PHP页面,如下所示:

<?php
$content = '<div class="content">content</div>';
echo $content;
?>
$('#result').load('/content.html #content');
.load()是一种特定的AJAX函数(有几种,我认为最基本的是.AJAX()),它直接将HTML内容加载到给定页面中。在本例中,上面发生的事情是,当您调用.load()函数时,它通过AJAX/content.html加载到内存中,查找名为#content的元素(恰好是一个div),然后将加载的#content元素插入到#result元素中

请注意,我在上面说“几乎”和“有点”的原因是,这很重要,取决于您正在做什么,以及如何格式化PHP页面。例如,使用AJAX请求页面是很常见的,这些页面的格式可以是XML、JSON,也可以是普通的HTML片段。当然,这是一个更为密集的主题,但这里有几个示例教程:

http://www.factsandpeople.com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and-php


希望这至少有帮助。然而,网上有上千个教程,只要在谷歌上搜索就会得到大量的结果。

实际上,这比你想象的要简单得多。把AJAX想象成只是请求任何旧网页,诀窍在于它在幕后“动态地”请求,而不考虑浏览器URL栏中的任何内容

从这个意义上讲,您几乎问错了问题(几乎),因为PHP如何服务页面并不重要。AJAX可以请求从PHP提供的任何页面。例如,假设您有一个简单的PHP页面,如下所示:

<?php
$content = '<div class="content">content</div>';
echo $content;
?>
$('#result').load('/content.html #content');
.load()是一种特定的AJAX函数(有几种,我认为最基本的是.AJAX()),它直接将HTML内容加载到给定页面中。在本例中,上面发生的事情是,当您调用.load()函数时,它通过AJAX/content.html加载到内存中,查找名为#content的元素(恰好是一个div),然后将加载的#content元素插入到#result元素中

请注意,我在上面说“几乎”和“有点”的原因是,这很重要,取决于您正在做什么,以及如何格式化PHP页面。例如,使用AJAX请求页面是很常见的,这些页面的格式可以是XML、JSON,也可以是普通的HTML片段。当然,这是一个更为密集的主题,但这里有几个示例教程:

http://www.factsandpeople.com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and-php


希望这至少有帮助。然而,网上有上千个教程,只要在谷歌上搜索就会得到很多结果。

HTTP是一种呼叫和响应协议。当客户端使用AJAX向服务器发送请求时,让您的PHP输出XML、JSON或HTML。当您使用AJAX调用PHP页面时,页面上的任何内容都会通过XMLHttpRequest.responseText传递回Javascript。读一篇Ajax教程,它会向你解释一切。我明白,我仍然不明白。这里有一个链接指向一个简单的例子:你到底不明白什么?协议是如何工作的?Ajax背后的概念是什么?如何使用编程接口?HTTP是一种调用和响应协议。当客户端使用AJAX向服务器发送请求时,让PHP输出XML、JSON或HTML。当您使用AJAX调用PHP页面时,页面上的任何内容都会传递回Javascr