javascript - Ajax:为什么当我删除它的脚本时ajax仍继续运行

标签 javascript jquery ajax

所以我下载了一个关于使用ajax进行实时搜索的源代码。 所以它有一个 custom.jssearch.htmlsearch.php 文件。

所以我一直在尝试修改它以满足我的需求,但是当我尝试编辑或删除ajax脚本所在的custom.js内的所有代码并保存它并刷新浏览器时,它仍然运行 ajax 脚本,因为我没有被编辑或删除。 iv'e 尝试关闭浏览器并再次尝试,它像他们一样继续运行,没有发生任何编辑。

有人知道为什么这种情况不断发生吗?我无法修改 custom.js,因为我不知道我的编辑是否有效。

这是 custom.js 中的代码

/* JS 文件 */

// Start Ready
$(document).ready(function() {  

    // Icon Click Focus
    $('div.icon').click(function(){
        $('input#search').focus();
    });

    // Live Search
    // On Search Submit and Get Results
    function search() {
        var query_value = $('input#search').val();
        $('b#search-string').text(query_value);
        if(query_value !== ''){
            $.ajax({
                type: "POST",
                url: "search.php",
                data: { query: query_value },
                cache: false,
                success: function(html){
                    $("#result-here").html(html);
                }
            });
        }return false;    
    }

    $("input#search").live("keyup", function(e) {
        // Set Timeout
        clearTimeout($.data(this, 'timer'));

        // Set Search String
        var search_string = $(this).val();

        // Do Search
        if (search_string == '') {
            $("ul#results").fadeOut();
            $('h4#results-text').fadeOut();
        }else{
            $("ul#results").fadeIn();
            $('h4#results-text').fadeIn();
            $(this).data('timer', setTimeout(search, 100));
        };
    });

});

最佳答案

所以,因为这实际上是答案,我也会在这里发布我的评论版本:

实际上,这应该是一个缓存问题。所以

首先:您使用哪种浏览器?

然后:一种可能的解决方案是禁用浏览器缓存。您是否尝试过通过浏览器的开发人员工具(例如 chrome:f12/cmd+alt+i -> 网络选项卡 -> 禁用缓存)禁用缓存?

(因为上面是这里的答案,斜体文本只是为那些无法使其工作的人提供建议):

或者您是否尝试按 strg +f5/cmd + shift + r 而不是仅尝试正常重新加载?

或者我是否正确理解您的意思,您正在尝试直接在浏览器开发工具中更改 js?

所以,它可能有一点可能与您的代码有关,但要知道会发生什么,我们必须在编辑后查看“旧”代码和"new"代码。

...除此之外,Sagar Arora 在他/她的回答中建议的是一种称为缓存安全 token 的东西,这肯定也会帮助您解决问题,因为对于每个请求,您不仅会加载'custom.js',然后会被缓存,但是 'custom.js?v=x',其中 x 是缓存安全 token (不过应该长于 1 到 10;) )

关于javascript - Ajax:为什么当我删除它的脚本时ajax仍继续运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42185085/

相关文章:

javascript - 使用 cookie 获取月份、日期和时间。但是,它们没有打印,而且我的日期未定义?

javascript - 如何使用 jQuery 或 JavaScript 循环数组?

php - 如果没有 ajax readystate() 中的 alert(),循环将无法工作

c# - 对 ASP.NET WebMethod 的 jQuery AJAX 调用

jquery - 使用webservice获取数据时无法获取json结果

javascript - 单击按钮调用新的 CSS 文件 - 但保留现有样式

javascript - jQuery:如何仅更改所选选项的颜色?

javascript - HTML5 Video buffered 属性特性

javascript - 我需要在移动设备中禁用菜单项

javascript - vue中如何使用外部js文件