会话不适用于ajaxRequest [如何使用会话变量计算ajax-request]

ham*_*ger 1 php ajax session session-variables

我有以下PHP代码,它计算对页面的每次访问.如果我直接打电话给对方,那就很重要了.如果我进行Ajax调用,它将始终以1开始.

<?php
session_start();    
header('Access-Control-Allow-Origin: *');

        if (!isset($_SESSION['zaehler'])) {
          $_SESSION['zaehler'] = 1;
        } else {
          $_SESSION['zaehler']++;
        }
echo  $_SESSION['zaehler'];


?>
Run Code Online (Sandbox Code Playgroud)

我理解ajax调用与直接调用相同,通过阅读:AJAX请求是否保留PHP会话信息? 只要侧面打开,我如何计算每个ajaxCall?

我正在做一个简单的jquery ajaxCall:

    $.get( "http://www.huntinggrounds.de/aa.php", function( data ) {
         console.log( "dataResponse: ", data );
    }) .fail(function(jqXHR, textStatus ) {
        console.log( "error",textStatus);
       })
       .always(function() {
        console.log( "finished" );
       });
Run Code Online (Sandbox Code Playgroud)

我制作了测试文件,testfile.html,只是一个黑屏.在桌面上单击,看到控制台中的计数器的PHP文件是在这里.

Kev*_*cot 5

测试完您的网页后,您的问题与您的网域有关.

http://www.huntinggrounds.de/aa.html工作正常,而不是http://huntinggrounds.de/aa.html

出于安全原因,cookie是针对每个域特定的.PHP在http://huntinggrounds.de/aa.html上设置的Cookie 将无法在http://www.huntinggrounds.de/aa.html上运行,具体取决于您的配置.

要通过此问题,请不要在ajax中设置完整的URL.优先级相对URI.

$.get( "/collect?"+setParameter(defs),
 function( data ) {
      try {
             console.log("New count is : ",data);
          } catch(e) {
             // if there is no response
             console.log( "No answer : ", data);
         }
  }) 
Run Code Online (Sandbox Code Playgroud)