我正在尝试通过 ajax 将 JSON 对象发送到同一页面。在运行我的代码时,ajax 函数似乎确实发送了数据,正如我在响应中看到的那样,PHP 代码中的 $id 更改为 200,但我无法在网页上显示它。我已经包含了 jquery.js 文件(我不确定是否需要添加另一个 js 库)。 我尝试查看很多 stackoverflow 答案,但无法解决我的问题。任何帮助将不胜感激。
PHP 代码:
<?php
if(isset($_POST['area_id'])){
$id = $_POST['area_id'];
echo "Area ID: ".$id;
} else {
echo "test";
}
?>
JQuery AJAX
var dat = {area_id: 200, title: 'title'};
$.ajax({
type:"POST",
data: dat,
success:function(res){
alert(res);
}
});
最佳答案
[基于对问题的评论...]
您的页面未更新,因为您没有编写任何代码来更新它。 echo
只是将文本发送到输出,而 alert()
只是在消息框中向用户显示文本。为了更新页面客户端,您需要编写执行此操作的代码。
例如,如果您有一个带有 id="output"
的元素,并且想要将响应文本设置为该元素,则可以执行以下操作:
$('#output').text(res);
该元素将获得该文本:
<div id="output">Area ID: 200</div>
服务器端代码无法更改已发送到浏览器的页面。当您的客户端代码通过 AJAX 接收新数据时,该客户端代码需要以您希望的任何方式使用该数据。
关于javascript - Ajax 和 PHP 同一页面无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34732865/