获取页面加载时json文件的内容

文章

我正在使用ajax,php和json将点击计数存储在json文件中...假设文件是​​这样的:

count.json

{"countbtn1":28,"countbtn2":25,"countbtn3":39}

downloadsCount.php

<?php
    $buttonName=$_POST["buttonName"];
    $file = "count.json";
    $json = json_decode(file_get_contents($file), true);
    echo $json['count'.$buttonName] ; 
?>

downloads.php

<?php
    $buttonName=$_POST["buttonName"];
    $file = "downloads.json";
    $json = json_decode(file_get_contents($file), true);
    $json['count'.$buttonName] = $json['count'.$buttonName] + 1;
    file_put_contents($file, json_encode($json));
    echo 'success';
?>

而且我需要在页面加载时将每个btn值放入其中:

<div class='smallbtn1'>0</div>
<div class='smallbtn2'>0</div>
<div class='smallbtn3'>0</div>

用此计数和更新json文件:

$('.download').click(function() { 
    //get name of button
    var name= $(this).prop('name');
    $.ajax({
        url: "downloads.php",
        data:{buttonName:name},
        method: "POST",
        success: function(response) {
            if (response = 'success') { 
                //get count download
                $.ajax({
                    url: "downloadsCount.php",
                    data:{buttonName:name},
                    method: "POST",
                    success: function(response){
                            $('.small'+name).html(response);                            
                        }                   
                });     
            }
        }
    });
    return true;
  });

..并且我尝试使用以下命令更新页面加载计数:

$.ajax({ 
    url: "downloadsCount.php", 
    data:{buttonName:name}, 
    method: "POST", 
    success: function(response){ 
        $('.small'+name).html(response); } 
    }); 

 });

...但是在第一次点击后,它不会更新加载时的值。

PS:整个东西都包裹在里面$(document).ready(function(){..});

阿尔瓦罗·蒙托罗

在看到服务器上的代码之后,我要说的问题是您如何调用AJAX。您正在执行此操作:

$(document).ready(function(){
$.ajax({ 
    url: "downloadsCount.php", 
    data:{buttonName:name}, 
    method: "POST", 
    success: function(response){ 
        $('.small'+name).html(response); } 
    }); 
});

但是您尚未定义什么name(它是在click事件中定义的,但在第一次加载页面时未定义)。您应该执行以下操作:

$(".download").each(function() {
    var name = $(this).attr("name");
    $.ajax({ 
        url: "downloadsCount.php", 
        data:{buttonName:name }, 
        method: "POST", 
        success: function(response){ 
            $('.small'+name).html(response); 
        } 
    }); 
});

因此,将为每个按钮中的每个按钮调用AJAX,然后name通过来使用属性$(this).attr("name")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每次到达页面底部时加载内容

来自分类Dev

特定内容不应在页面加载时加载

来自分类Dev

dropdownlist用于不选择页面加载时应该选择的内容

来自分类Dev

Python Web抓取-当页面通过JS加载内容时如何获取漂亮的汤料?

来自分类Dev

页面加载后获取css文件

来自分类Dev

在页面刷新时使用jQuery重新加载JSON文件

来自分类Dev

加载取决于页面名称的JSON文件

来自分类Dev

Bootstrap选项卡ajax在页面加载时加载内容

来自分类Dev

从Habbo的JSON页面获取内容

来自分类Dev

Nextjs在重新加载页面时获取数据

来自分类Dev

获取真实页面内容时,Node.JS + Express显示加载页面

来自分类Dev

JS加载后获取页面的HTML内容

来自分类Dev

获取在访问页面时加载的xhr文档

来自分类Dev

加载页面后如何获取JavaScript文件?

来自分类Dev

下载时获取文件内容

来自分类Dev

加载新页面时保留内容

来自分类Dev

每次到达页面底部时加载内容

来自分类Dev

在页面加载时自动嵌入HTML文件

来自分类Dev

在页面加载时创建json

来自分类Dev

从外部文件获取json内容

来自分类Dev

从.csv文件读取的内容有时不会在页面加载时显示

来自分类Dev

加载取决于页面名称的JSON文件

来自分类Dev

php文件在获取fb页面数据时获取内容无法正常工作

来自分类Dev

加载时存储JSON文件内容

来自分类Dev

AngularJS:从本地json文件加载内容

来自分类Dev

reactjs页面在文件上传时重新加载

来自分类Dev

从文件获取内容(php)获取json字符串时获取对象字符串

来自分类Dev

页面加载时不显示js内容

来自分类Dev

jquery在页面加载时克隆div的内容