2013-04-08 97 views
0

我想运行INSERT由AJAX查询。该查询需要来自php会话的值,但js请求没有看到该值。这是怎么回事?我该怎么办 ?检查php会话由AJAX

一些下面的代码:

JS:

$('div#content').on("submit" , "form" , function (event){ 
     event.preventDefault(); 
     var href  = "ajaxRequest.php" + $(this).attr("action"); 
     var method  = $(this).attr("method"); 
     var values  = $(this).serializeArray(); 

     $.ajax({ 
      url   : href, 
      data  : values, 
      type  : method, 
      dataType : "html", 
      cache  : false, 
      success  : function (content){ 
       alert(content); 
      } 
     }); 

    }); 

PHP:在你PHP页面顶部

public function addBoard($params = null) 
     { 
      $ID_user   = $_SESSION[ 'user_id' ]; 
      $board_model  = $params[ 'board_model' ]; 

      $query = "INSERT INTO `".prefix."boards` (      
         `ID_user` , 
         `board_model` 
         ) 
        VALUES (
         '$ID_user', '$board_model');"; 

      if($this->SQL->dbquery($query)) 
       echo 'Added'; 
      else 
       echo 'Failed'; 
     } 
+0

add'session_start()' – 2013-04-08 11:15:29

回答

0

您可能需要在页面顶部开始会话。 在这里看来,你在ajax文件中定义了该函数,但没有调用。所以你有没有在ajax文件中调用这个函数

3

session_start();

+2

你应该已经得到了接受的答案...所以我会给你一个upvote! – Abela 2013-04-08 11:35:45

0

对于服务器,ajax请求与常规页面请求没有区别。会话的行为与其在页面请求中的行为相同。

您需要做的只是在您的php文件中启动会话,以响应ajax请求。