ajax请求base64加密后的json数组,并通过vue的v-for遍历输出

        $.ajax({
            type: ‘get‘,
            dataType: ‘json‘,
            url: ‘/Template/xpshop_currents/inc/imgUrl.json‘,
            cache: false,
            success: function (data) {           //window.atob()base64解码,escape编码,decodeURIComponent解码,这里是为了解决base64解码后的中文乱码问题
                let spdata = decodeURIComponent(escape(window.atob(data[0])));
                 let pat1 = /\[(.*?)]/;
                 let pat2 = /},/g;
                 let pat3 = /;/;           //因为json数组加密后变成了一串字符串,所以json数据用另外一个数组包裹了加密后的字符串,否则json资源无法加载,这里先通过pat1的正则把字符串提取出来
                 let sp = spdata.split(pat1)[0];           //将逗号替换为分号,这样方便等下分割提取数组元素
                 let spp = sp.replace(pat2,‘};‘);
                 let ImgUrlArrOld = spp.split(pat3);

                //生成随机数组
                let ImgUrlArr = new Array();
                while(ImgUrlArr.length<ImgUrlArrOld.length){
                    let num = ImgUrlArrOld[Math.floor(Math.random() * ImgUrlArrOld.length)];
                    let numObject = JSON.parse(num);
                    if (ImgUrlArr.indexOf(numObject)<0) {
                        ImgUrlArr.push(numObject);
                    }
                } 

                let vm = new Vue({
                    el:‘#appVue‘,
                    data:{
                        src:ImgUrlArr,
                        backgroundRepeat: ‘no-repeat‘,
                        backgroundPosition: ‘center‘,
                        backgroundSize: ‘100% 100%‘,
                    },
                    // 加载函数
                    methods:{
                        ImgInfiniteRolling: function(){
                            ImgInfiniteRolling(-200,1)
                        },
                    },
                    //页面模板加载完成后调用函数
                    mounted(){
                        this.ImgInfiniteRolling()
                    }
                })
            }
        })     function ImgInfiniteRolling(begin,speed){      console.log(begin,speed);    }

原文地址:https://www.cnblogs.com/webwangjie/p/11331092.html

时间: 2024-09-30 21:09:18

ajax请求base64加密后的json数组,并通过vue的v-for遍历输出的相关文章

springboot+shiro 02 - 异步ajax请求无权限时,返回json格式数据

博客: https://www.cnblogs.com/youxiu326/p/shiro-01.html github:https://github.com/youxiu326/sb_shiro_session.git 在原有基础上添加 SimpleFormAuthenticationFilter /** * 自定义过滤器,ajax请求数据 以json格式返回 * Created by lihui on 2019/2/28. */ public class SimpleFormAuthenti

ajax请求里的contentType: &quot;application/json&quot;作用

对于页面中复杂数据的提交: $.ajax({ type:"post", url:url, dataType: "json", contentType: "application/json", async:true, data:JSON.stringify(param), success:function(result){ if(result.code == "0"){ var rows = result.data; if(ty

js数组及数组应用(冒泡和二分,遍历输出)

一.定义:1)var arr=new Array(); 加数据:arr[0]=1; 2)定义同时赋值:var arr=new Array(1,2,3,4,5); 3)调用:var arr=new Array(); arr.push(1);用.push调用 4)var arr=[1,2,3,4,5]; alert(arr[4]); 二.属性:1)arr.length:数组的长度 eg:var arr=new Array(1,2,3,4,5,6); alert(arr.length); arr.le

ajax请求学习之&lt;XMLHttpRequestJSON&gt; -&gt;以json格式传输数据

以json格式传输数据 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Demo</title> <style> body, input, select, button, h1 { font-size: 28px; line

ajax响应json字符串和json数组

最近上班太忙,晚上抽空整理一下ajax请求中,后台返回json字符串和json数组的场景,以及前台的处理示例. 直接看代码. json字符串的后台响应 package com.ajax; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.serv

Ajax请求数据与删除数据后刷新页面

1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) <a class="queryA" href="javascript:void(0)" onclick="query(${register.id})"> <span class="glyphicon glyphicon-search"></span></a>  ajax异步请求数据后给id为queryInfo的模态

jQuery Ajax请求(关于火狐下SyntaxError: missing ] after element list ajax返回json,var json = eval(&quot;(&quot;+data+&quot;)&quot;); 报错)

$.ajax({ contentType: "application/x-www-form-urlencoded;charset=UTF-8" , type: "POST", url:url, dataType: 'json', data:{}, success: function(data){ } }); 如果后台返回的是一个string类型的json串,则谷歌和IE下将它解析成string类型,而火狐下则会显示成[object xmlDocument],是一个o

不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)

在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 $url = "http://www.google.com.hk"; $result = file_get_contents($url); echo $result; 当代码执行到第二行时,程序便陷入了等待,直到请求完成,程序才会继续往下跑将抓取到的html输出.这种做法的好处是代码简洁明了,运行流程清晰, 容易维护. 缺点就是程序的运

AES 与Base64加密

public class AESHelper     {         /// <summary>         /// 获取密钥         /// </summary>         private static string Key         {             get             {                 return "abcdef1234567890";    ////必须是16位