Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript拉式刷新retain LastID变量_Javascript_Ajax_Html Framework 7_Pull To Refresh - Fatal编程技术网

Javascript拉式刷新retain LastID变量

Javascript拉式刷新retain LastID变量,javascript,ajax,html-framework-7,pull-to-refresh,Javascript,Ajax,Html Framework 7,Pull To Refresh,学习所以请善良,而不是一个专业的程序员!用PHP没问题,但用Javascript我完全是新手 tl;dr我如何保留JSON中的last id变量来停止我的AJAX提取它已有的内容? 试图让一个“下拉刷新”工作,它是来了,但我卡住了。我有mysql/php/ajaxfine。我可以拉下来,它会更新。但它继续添加现有内容 我研究过以不同的方式分配变量,使用let,var,nothing,window.variable。 使用Framework7,如果有任何区别 今天是页面,highid是JSON中返

学习所以请善良,而不是一个专业的程序员!用PHP没问题,但用Javascript我完全是新手

tl;dr我如何保留
JSON
中的
last id
变量来停止我的
AJAX
提取它已有的内容?

试图让一个“下拉刷新”工作,它是来了,但我卡住了。我有
mysql/php/ajax
fine。我可以拉下来,它会更新。但它继续添加现有内容

我研究过以不同的方式分配变量,使用
let
var
nothing
window.variable
。 使用
Framework7
,如果有任何区别

今天是页面,highid是JSON中返回的最高id号。当调用get时,highid将被提供给mysql以获取任何更新的内容。PHP/JSON/AJAX部分工作正常。但无法找到为下次设置变量的方法

var html = '';

// Pull to refresh on Today tab
$$('.ptr-content').on('ptr:refresh', function (e) {

  setTimeout(function () {


 if (typeof today_highid === 'undefined') {
      var today_highid = 5;
    }
    app.request.json('/__php/json1.php', { article_id: today_highid }, function (data) {

      for(var i = 0; i < data['article'].length; i+=1){

         html+=
            '<div class="title-container">'+
            '<span class="title-date">Tuesday 19 March</span>'+
            '<h1>' +data['article'][i]['article_title']+ '</h1>'+
            '</div>'+
            '<a href="/single/">'+
            '<div class="card">'+
            '<img class="card-image" src="img/thumb-14.jpg" alt="">'+
            '<div class="card-infos">'+
            '<h2 class="card-title">' +data['article'][i]['article_content']+ '</h2>'+
            '<div class="card-bottom">'+
            '<div class="card-author">'+
            '<img class="card-author-image" src="img/authors/author-1.jpg" alt="">'+
            '<div>Camille Aline</div>'+
            '</div>'+
            '<div class="card-comments"><i class="f7-icons">chat_bubble_fill</i></i>' +today_highid+ '</div>'+
            '</div>'+
            '</div>'+
            '</div>'+
            '</a>';


      }
      //$$('.data-table table').html(tableHtml);
      // Prepend new list element
      $$('.ptr-content').find('#today-content').prepend(html);

      window.today_highid = data['status']['highid'];


    });
var html='';
//拉动“今天刷新”选项卡
$$('.ptr content')。on('ptr:refresh',函数(e){
setTimeout(函数(){
如果(今天的类型\u highid===‘未定义’){
今天的var\u highid=5;
}
json('/u php/json1.php',{article_id:today_highid},函数(数据){
对于(变量i=0;i

感谢您提供的任何帮助,或者指向一个好的工作教程的指针,谢谢!

问题在于您有
window.today\u highid=data['status']['highid']
但是您在函数内部将其设置为
var today\u highid=5
,这是不同的。
today\u highid
窗口的属性
。当您实际使用它时也是如此。
{article\u id:today\u highid}
您只是指函数范围中的
var
,而不是
窗口的值

您需要将初始值移出函数范围。请检查下面的内容以了解清楚程度

还有块作用域变量。你不应该再使用
var
。它总是或者。请继续阅读

让todayHighId=5;//默认值
$$('.ptr content')。on('ptr:refresh',函数(e){
setTimeout(函数(){
json('/u php/json1.php',{article_id:todayHighId},函数(数据){
让{article,status}=data;//我假设article是数据的一个属性。因此,解构数据对象以获得属性
设lastArticleId=article[article.length-1]
对于(设i=0;i

另一方面,您应该避免使用
\
声明变量,并使用
[]访问对象的属性
。我知道如果API是这样设计的,那么就别无选择。但除非这绝对是唯一的方法,否则应该避免使用它。

我的理解是,您希望请求一个列表,然后当用户执行一个操作时,您希望获得下一个操作?您可以通过迭代今天的
值来实现这一点。\u highid
?我有一个文章新闻提要。Pu我将使用ajax刷新。我想存储最后一个文章id,因此当用户再次刷新时,json包含比已经显示的文章更新的文章。最后一个文章id在json中。非常感谢!很抱歉我的英语不好,不是第一语言。
let todayHighId = 5; //default

$$('.ptr-content').on('ptr:refresh', function (e) {

  setTimeout(function () {

    app.request.json('/__php/json1.php', { article_id: todayHighId }, function (data) {

      let { article, status } = data; // I assume article is a property of data. So deconstruct the data object to get the properties
      let lastArticleId = article[article.length - 1]

      for(let i = 0; i < article.length i+=1){
       ....
      }

      todayHighId = status.highid;


    });
}