javascript - 如何记住 JQuery 中的变量以便下次 AJAX 加载?

标签 javascript jquery

我通过 Jquery AJAX 加载数据集为

$(function(){
 $('#next').submit(function(e){
 e.preventDefault();
 var form = $(this);
 var page = form.attr("action")
  $.ajax({
   type: 'POST',
   url: page, 
   success: function(html){
   $("#results").append(html);
   }
  });
 });
});

该表单是一个带有action="load.php?page=2"的按钮。

当按下表单的提交按钮时,它将从load.php?page=2加载数据。我如何记住此操作以在下次单击时从 load.php?page=3 加载数据?并阅读后续页面?

事实上,我想引入一个新变量,因为每次点击时页码都会增加。

最佳答案

我将使用正则表达式从 action 属性末尾分割数字,并将 success 处理程序中的 action 替换为增加页码。

我还将 b.attr("action") 行更改为 form.attr("action") 因为我认为这是您的拼写错误版本。如果不保留该行的原始版本:)

$(function(){
    $("#next").submit(function(e){
        e.preventDefault();

        var form = $(this),
            page = form.attr("action"),
            page_nr = (/\d+$/.exec(page) || ["2"])[0];

        $.ajax({
            type: 'POST',
            url: page, 
            success: function(html){
                form.attr("action", page.substring(0, (page.length - page_nr.length)) + (+page_nr + 1));
                $("#results").append(html);
            }
        });
    });
});

示例:http://jsfiddle.net/WfrU7/

关于javascript - 如何记住 JQuery 中的变量以便下次 AJAX 加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234551/

相关文章:

javascript - Node js异步 waterfall 未按顺序传递变量

javascript - 更改 Google Picker DocsView 标题

javascript - 如何使用reduce()将数组插入数组

jQuery.on() 无法按预期工作

javascript - 如何在 Javascript/Jquery 中添加表行时更改组合框选择上的文本框

jquery - PhoneGap Jquery 滑动不良

javascript - 如何在 React 应用程序中预取视频?

javascript - HTML 视频的状态在一段时间后变为待处理

javascript - 添加 href 时,图像轮播中断将图像推出 slider

javascript - 从给定的日期字符串中获取年份