1

这是我的情况:

在页面的中心,我有内容目录:<div id="content"></div>

在页面的右侧,我有一个<form method="post" action="?p=search">带有一些输入字段和一个提交按钮:<input type="submit" id="searchButton" />

将表单提交到 时,我正在执行 AJAX 请求index.php,只是因为索引加载了我的所有环境,然后它包含search.php并退出。

search.php文件使用json 返回一个数组,该数组由发送到数据库的查询返回。

有了这个返回,当请求结束时,我用数据更新我的内容 div。

但我没有意识到,如果我只是重新加载页面,而不点击搜索按钮,我的所有搜索都会消失,它只会返回默认页面所做的主要内容查询..

我该如何解决?有什么好的做法吗?

谢谢,谢谢,谢谢。

4

1 回答 1

1

在搜索中尝试 ajax 时需要添加首字母。

当初始值不为空时,再次调用您的 ajax,尝试$(window).load(function ()检测您的初始值。

您可以选择 cookie 作为初始值。

例如 :

  //assume this call your ajax

  var ajax_search = function(str) {
      $.ajax({
        type: "POST",
        url: "some.php",
        data: $str
      }).done(function( msg ) {
        alert( "Data Saved: " + msg );
        setCookie("IsSubmitSearch", "true", 1);
      });
  }

  // when click submit search
  $("#search").click(function() {
      var str = $("#inputSearch").serialize();
      ajax_search(str);

      return false;
  });

  $(window).load(function () {
      var IsSubmitSearch = getCookie("IsSubmitSearch");
      if (IsSubmitSearch != null && IsSubmitSearch != "") {
          //cookie exists then you refreshed this page(F5, reload button or right click and reload)
          //SOME CODE
          var str = $("#inputSearch").serialize();
          ajax_search(str);
          DeleteCookie("IsSubmitSearch");
       }
       else {
          //cookie doesnt exists then you landed on this page
          //SOME CODE
          setCookie("IsSubmitSearch", "true", 1);
       }
  });
于 2012-10-26T02:42:06.800 回答