我有一个PHP项目,我正在使用AJAX来刷新页面的一部分,该页面的一部分从URL中获取有关它将要显示的内容的选项。在加载和刷新时,这非常有效。当引入AJAX来重新加载div内部的php文件时,唯一不起作用的部分是$ _GET。
我真的对AJAX一无所知并且正在努力学习,但是对于我的生活无法理解这一点。谷歌的搜索并没有把我引向正确的方向。
AJAX:
jQuery(document).ready(function(){
jQuery('.ajaxform').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
data : $(this).serialize(),
success : function( data ) {
$('#footer-holder').html( data );
$('#authCheck').load('authentication.php');
},
error : function(){
alert('Something wrong');
}
});
return false;
});
});
authentication.php有一些$ _GET命令,页面在刷新时完美执行,除了$ _GET请求之外,其他一切都在这个AJAX调用中完美执行。
示例authentication.php
if(isset($_GET['test'])){
echo $_GET['test'];
}else{
echo "nothing in GET";
}
示例index.php
echo "<div id='authCheck'>";
include 'authentication.php';
echo "</div>";
答案 0 :(得分:1)
如果我能理解您的问题,那么您正在尝试对用户进行身份验证。即使您使用的是ajax,使用GET方法进行登录也绝不是一种很好的方法。 这可能会对你有所帮助
jQuery(document).ready(function(){
jQuery('.ajaxform').submit( function() {
$.ajax({
url : '/authentication.php',
type : 'POST',
data : $(this).serialize(),
success : function( data ) {
if(data == 'success')
//Successfully authenticated
} else {
console.log('Invalid Credentials')
}
},
error : function(){
alert('Something wrong');
}
});
return false;
});
});
PHP中的
//Check username and password, Checking isset POST is not enough for security
if($_POST['username'] != '' && $POST['password'] != ''){
//Do you logic to check password id correct or not
//if true
//echo success
//else
//echo 'fail'
}else{
echo "Invalid credentials";
}
希望这会对你有所帮助