Ajax调用获取带有url的内容

时间:2018-07-24 09:09:37

标签: javascript ajax

您好,我正在为get ajax内容使用纯 javascript ,而没有页面加载。

document.getElementById('dashboard').addEventListener('click', dashboard);

function dashboard(){
  var xhr = new XMLHttpRequest();
  xhr.open('GET', 'dashboard.php', true);

  xhr.onload = function(){
    if(this.status == 200){
        history.pushState(null, null, '#dashboard.php');
      document.getElementById('content').innerHTML = this.responseText;
    } else if(this.status = 404){
      document.getElementById('content').innerHTML = 'Not Found';
    }
  }
  xhr.onerror = function(){
    console.log('Request Error...');
  }
  xhr.send();
}

此代码可以完美地工作,但是当我手动刷新页面时,内容会回到初始页面。如果我打开表单页面,并且在手动刷新后,网站将显示“仪表板”页面。

即使刷新后,我也希望保留在当前页面上。谢谢。

2 个答案:

答案 0 :(得分:0)

我了解到您仅使用JavaScript和ajax,但最简单和广泛使用的方法是使用 PHP会话变量,因为您使用的是get方法,因此可以轻松实现。如果您设置了一个PHP会话变量,无论刷新多少次,它都会通过隐藏或重定向(通过选中会话变量)来显示您想要显示的页面。您可以检查以下链接:{ {3}}

答案 1 :(得分:0)

此代码可以完美运行,谢谢大家!

SELECT REPLACE (CONVERT(VARCHAR(255), NEWID()), '-', '') AS ColA,
      ROW_NUMBER() OVER (ORDER BY ( SELECT 1)) AS RowNumb
INTO #Varchar
FROM sys.all_objects AS S
CROSS JOIN sys.all_objects AS S2

SELECT CAST (ColA AS NVARCHAR (255)) AS ColA,
       RowNumb
INTO #Nvarchar
FROM #Varchar

SELECT TOP 1000000 *
INTO #Subset
FROM #Varchar

CREATE INDEX i_VarcharColA ON #Varchar (ColA)
CREATE INDEX i_NvarcharColA ON #Nvarchar (ColA)
CREATE INDEX i_SubsetColA ON #Subset (ColA)

SET STATISTICS IO, TIME ON
SELECT COUNT(*) AS CountStar
FROM #Varchar AS V
INNER JOIN #Subset AS S ON V.ColA = S.ColA -- matching datatypes

SELECT COUNT(*) AS CountStar
FROM #Nvarchar AS V
INNER JOIN #Subset AS S ON V.ColA = S.ColA -- non-matching datatypes