首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery只在首次硬刷新后才重新加载mysql插入。

Jquery只在首次硬刷新后才重新加载mysql插入。
EN

Stack Overflow用户
提问于 2019-08-13 10:08:52
回答 1查看 195关注 0票数 0

我正在我的移动网站内制作一个商店和信息系统,在刷新浏览器后,所有的功能都很好。

我的问题是,当我刷新消息页并转到我的商店页面时,它会在php mysql脚本中加载,但是如果我改变了商店的过滤器并用jquery重新加载内容,它就不会出现。如果我刷新整页,并试图改变过滤器的商店之后,这一切都像一个魅力。

只有在第一次访问页面时,它才会在jquery刷新页面之后不工作。

我尝试过用jquery重新加载div脚本,但是al也遇到了同样的问题。我还在脚本部分尝试了回显测试。只有当其余部分也在工作时,它才会回显(因此重新加载的div中的所有php都消失了)

我使用的Reloadscript:

代码语言:javascript
运行
复制
$("#ShopScriptsReload").load(" #ShopScriptsReload > *");

Php mysql:

代码语言:javascript
运行
复制
$sql = "SELECT * FROM shop ORDER BY id DESC";
$result = $conn->query($sql);

我用cookies来改变过滤器。因此,使用javascript设置cookie并将其转换为(小编辑:cookie使用硬编码的变量设置):

代码语言:javascript
运行
复制
if (empty($_COOKIE["setFilterCookie"])){$_COOKIE["setFilterCookie"]="1";}
    $fltr = $_COOKIE["setFilterCookie"];
    if ((empty($fltr) or ($fltr == 1)))
    {$WhereFltr = "";}
    elseif ($fltr == 2)
    {$WhereFltr = "WHERE tag='digitaal'";}
    elseif ($fltr == 3)
    {$WhereFltr = "WHERE tag='pins'";}
    elseif ($fltr == 4)
    {$WhereFltr = "WHERE tag='fysiek'";}
$sql = "SELECT * FROM shop WHERE filter='$fltr' ORDER BY id DESC";
$result = $conn->query($sql);

我已经尝试过以下方法:从dom删除以前的页面,删除缓存,尝试删除重新加载部分并使用GET方法(这很好,但这不是我想要的)。

好吧,所有的东西都正常工作,而不需要进行全面的刷新。

先谢谢各位,各位:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 13:22:59

这里的问题是,当您正在刷新浏览器时,只有服务器调用,但是刷新JQuery在客户端!为此,您可以使用ajax,我将演示:

在HTML中

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script
            src="https://code.jquery.com/jquery-3.4.1.min.js"
            integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
            crossorigin="anonymous">
    </script>
    <script type="text/javascript" src="./app.js"></script>
</head>
<body>
<select name="shop-criteria" class="shop-criteria">
    <option value="">all</option>
    <option value="2">digital</option>
    <option value="3">pins</option>
    <option value="4">fysiek</option>
</select>
</body>
</html>

在JavaScript中,文件app.js

代码语言:javascript
运行
复制
$(document).ready(function(){

    $(document).on('change', '.shop-criteria', function (e) {

        let fd = new FormData();
        let tag = $(this).val();
        fd.append('tag', tag);

        $.ajax({

            url: "shop.php",
            type: "POST",
            data: fd,
            processData: false,
            contentType: false,

            complete: function (results) {

                let response = JSON.parse(results.responseText);
                my_function.call(this, response);
            }




        });
    });


    function my_function(response) {
        console.log("response", response);
    }

});

在PHP shop.php中

代码语言:javascript
运行
复制
 `<?php
  $tag = $_REQUEST['tag'];

  switch($tag) {

     case 2:
        $WhereFltr = "WHERE tag='digital'";
     break;

    case 3:
       $WhereFltr = "WHERE tag='pins'";
    break;

    case 4:
       $WhereFltr = "WHERE tag='fysiek'";
    break;

    default:
       $WhereFltr = "";
    break;
   }

   $sql = "SELECT * FROM shop WHERE filter='$fltr' ORDER BY id DESC";
   $result = $conn->query($sql);`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57475568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档