我正在尝试使用PHP / mySQL / Jquery在HTML / CSS中编写自定义联系人内容管理器,以使其动态化。
我的登录表单将$ _REQUEST发送到我的connection.php,当auth正确时,我将json返回到我的Jquery,当它好时,我使用window.location.replace将用户重定向到控制面板。
当我在控制面板的index.php上时,我想检查用户的session_id是否进入我的sql数据库,是否超过了到期时间。
我有我的函数检查这个并返回好的值,但我想执行它并将结果发送到我的jquery而不使用GET或POST方法。
如果我记得,你有
$.ajax({
type: "POST", //or GET method
dataType: "json",
url: $(this).attr('action'),
data: $(this).serialize(),
success: function({
}),
error: function({
})
});
但是你必须指定元素“data”no?我可以在没有数据的情况下使用它并将“file.php”作为url而不使用POST或GET方法吗?
我想进入我的成功方法我的php函数的结果: 如果json返回false,则用户可以访问该页面。 如果json返回true,我将注销用户并将其重定向到login.php
我正在使用此系统,因为我不希望任何人可以通过写入正确的URL或4天后访问控制面板。我将登录的任何人的到期时间设置为一小时(暂时)控制面板和我在所有页面上检查是否超过了到期时间。
我看到使用'window.location.replace'不允许返回上一页..有没有人有解决方案?我不希望有一个事件来重定向用户,只是在一个条件之后将他重定向到另一个URL(我的file.php)。
目前,我使用它来执行没有POST的PHP,使用$ .ajax的GET方法..
$(document).ready(function(){
$(function(){
var ticket = '<? echo $tickets; ?>';
console.log(ticket);
if ( ticket === '' )
$(".new_ticket h2").after('<p>Aucun nouveau ticket.</p>');
else
{
console.log('else');
$(".new_ticket h2").after('<p>Il y a un ticket.</p>');
}
});
});
当我写信时,我有一个最后一个问题:
$(document).ready(function(){
$(function(){
}
当DOM准备就绪时,它是由jquery直接执行的吗?我可以在文件中写多个'$(function(){}'吗?
感谢您的帮助!
答案 0 :(得分:0)
使用POST或GET有什么问题?它完美无缺。
这里foobar.php返回一个状态为的json对象。将其更改为脚本返回的任何内容。
$.post('foobar.php', function(data) {
if( data.status === false) {
//All good
}else {
//Redirect
window.location.href = "http://newpagehere.com/file.php";
}
});
使用window.location.href
,您可以使用后退和前进按钮。
是的,当使用$(document).ready(function() { });
时,它会在DOM准备就绪时运行。
http://api.jquery.com/ready/
最后一件事是我不会在这里依赖Javascript,当用户更改页面时,我会用PHP进行检查。我也会在那里处理重定向。