【问题标题】:Checking php session by ajax通过ajax检查php会话
【发布时间】:2013-03-30 10:45:06
【问题描述】:

我想通过 ajax 运行 INSERT 查询。该查询需要来自 php 会话的值,但 js 请求没有看到该值。为什么会这样?我该怎么办?

下面的一些代码:

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:

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';
        }

【问题讨论】:

  • 添加session_start()

标签: php jquery mysql ajax session


【解决方案1】:

在您的PHP 页面顶部写上session_start();

【讨论】:

  • 你应该得到公认的答案......所以我会给你一个赞成票!
【解决方案2】:

对于服务器而言,ajax 请求与常规页面请求没有什么不同。 Session 的行为方式与其在页面请求中的行为方式相同。

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

【讨论】:

    【解决方案3】:

    您可能需要在页面顶部开始会话。 在这里,您似乎在 ajax 文件中定义了该函数但未调用。那么你有没有在 ajax 文件中调用过那个函数

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 2014-11-08
      • 2011-08-01
      • 1970-01-01
      • 2017-04-20
      • 2014-12-10
      相关资源
      最近更新 更多