php - 使用ajax过滤一些数据后刷新页面时获得相同的内容

标签 php javascript jquery ajax json

这是我的情况:

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

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

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

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

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

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

我该如何修复它?有没有好的做法?

谢谢,谢谢,谢谢。

最佳答案

尝试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);
       }
  });

关于php - 使用ajax过滤一些数据后刷新页面时获得相同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079514/

相关文章:

javascript - 将多余的 'innerHTML' 替换为其他内容。 JavaScript

javascript - 检测标签显示,移除类隐藏

jquery - 将对象转换为 JSON 字符串

php - Symfony 5 - 需要信号量扩展(sysvsem)

MongoDB 中的 PHP 时区偏移

javascript - 在 QML 中绘制 LineSeries 图表

php - 刷新页面后记住所选值

javascript - 样式化右侧的默认滚动条

php - 在 PHP 中跟踪登录用户

php - 在 PHP 中使用默认魔术引号或用户定义的 addslash/stripslash 哪个更好?