我有以下脚本validation.php
<?php
if(!isset($_SESSION['userId'])){
session_destroy();
header('Location: home.php');
exit;
}
?>
每次有人点击#main-display
中的按钮时,我都想执行这个脚本
$("#main-display").on('click', 'button', function (event){
//some code in here
});
我该怎么做?
您不能直接从ajax请求中进行重定向,因为它只会将响应页面重定向到home.php,而不会重定向到当前的主DOM窗口。
您将不得不在php:中将其修改为类似的内容
if(!isset($_SESSION['userId'])){
session_destroy();
$response['status'] = 'false';
}
else {
$response['status'] = 'true';
}
echo json_encode($response);
然后在javascript 上
$("#main-display").on('click', 'button', function (event){
$.getJSON('/path/to/loginStatus.php', {}, function(response) {
if(response.status == 'false') {
location.href = 'home.php';
}
});
});
从最简单的开始,$.get('validation.php')
足以让脚本运行,但要使用它做一些有用的事情,您需要提供更多的上下文。关于最通用的"无所不能"方法(包含大量选项),请参见$.ajax
;其他一切都是这个的子集。
这不是完全正确的,但只有几个小的例外,你现在不应该关心。
试试这个。。
$("#main-display").on('click', 'button', function (event){
$.get("validate.php",function(data){
alert("response is "+data);
});
});
$('#main-display').click(function(){
$.get('validate.php');
});
希望这能奏效!