即使页面发生变化,也会在点击时显示AJAX请求?

时间:2014-02-14 20:34:34

标签: javascript jquery html ajax

让我通过让你知道我是一个完整的AJAX / JSON菜鸟来解释这个问题。有了这个,我试图在我的网站侧边栏中显示一个AJAX响应。到目前为止,我的工作完美无缺,但现在我想更进一步。

现在我将AJAX查询绑定到一个on click事件并且它工作得很好,但是我希望在初始点击按钮之后信息保留在DIV中,这样如果用户导航到其他页面侧栏,信息仍然会显示,而无需再次单击该按钮。我假设这需要某种cookie,但也许还有另一种方式。

这是我的AJAX电话:

$('#locSearch').click(function() {
    jQuery.ajax({
      type: "GET",
      dataType: "html",
      url: "/search/locations/result.html",
      success: function(closestLoc) {

        jQuery('.locResult').html(closestLoc);

      } // end success

    }); // end ajax
});

这是我的HTML:

<div class="locinfo">
    <span id="locSearch" class="button">Click here to find the nearest location</span>
    <div class="locResult"></div>
</div>

我认为这需要一个cookie吗?或者是否有更好/更简单的方法,如果有,什么?谢谢!

2 个答案:

答案 0 :(得分:1)

是的,您需要一些方法来持久保存数据,无论是cookie,数据库还是托管该站点的服务器上的文件,还是某种状态,如果它是.net,php等。

答案 1 :(得分:1)

这样做是在localstorage中设置SideBar,在页面加载时它正在检查它是否在那里。

if ( localStorage.SideBar == "Clicked" ){
    jQuery.ajax({
      type: "GET",
      dataType: "html",
      url: "/search/locations/result.html",
      success: function(closestLoc) {

        jQuery('.locResult').html(closestLoc);

      } // end success

    }); // end ajax
}

$('#locSearch').click(function() {
    jQuery.ajax({
      type: "GET",
      dataType: "html",
      url: "/search/locations/result.html",
      success: function(closestLoc) {

        jQuery('.locResult').html(closestLoc);

      } // end success

    }); // end ajax
    localStorage.SideBar = "Clicked"
});