AJAX加载的php页面不让$ _​​GET找到值

时间:2014-03-26 03:46:26

标签: javascript php jquery ajax

我有一个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>";

1 个答案:

答案 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";
  }

希望这会对你有所帮助