页面第一次加载时,POST数据数组中将没有任何内容。运行后,我希望能够使用PHP代码中的POST数据中发送的任何变量,以便可以根据发送的参数查询数据库。我是否需要以某种方式重新加载页面?
PHP:
if(isset($_POST['boarder'])){
$boarder = $_POST['boarder'];
function boarderCheck($boarder){
echo "<script type ='text/javascript'>alert('$boarder');</script>";
}
boarderCheck($boarder);
} else {
?>
<script defer src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="map.js"></script>
<?
};
?>
JavaScript(map.js)
$.ajax({
type: "POST",
data: {boarder: 'test'},
dataType: 'text',
success: function(response) {
console.log(response);
}
})
最佳答案
不,您不需要重新加载页面,尤其是因为您正在将异步请求(AJAX中的A)用于同一个URL。
请参见this phpfiddle演示示例(进行了一些修改)。单击运行-F9按钮,然后单击标有开发板的按钮以运行JavaScript(带有AJAX请求)。如果您open the browser console,则应该在“网络”选项卡中看到请求。主要的应该是对类似于code_41096139.php的页面的GET请求(数字可能会更改)。然后,当发出AJAX请求时,应该对同一页面有一个POST请求。展开该请求,您应该看到表单数据。
除了添加按钮和单击处理程序之外,所做的唯一修改是添加了输出元素:
<div id="output"></div>
然后在AJAX请求的成功回调中,将该元素的文本设置为响应(除了对
console.log()
的调用): success: function(response) {
$('#output').text('response: '+response);
console.log(response);
}