microblog | 微博客
原创
访问
0
获赞
0
评论
相关推荐
暂无数据
最新文章
暂无数据
热门文章
暂无数据

JQ自动调用、Ajax跨域调用

写完bug就找女朋友 2022年02月28日 13:21:25 687 963 0
分类专栏: Ajax Java JavaScript JQ 文章标签: jq JavaScript

一、问题描述

      在央视官网划水的时候,发现一个点赞排名,试着点击了几次,竟然发现没有防重复提交,如下图:

tstmp_20240130094122.gif

于是想着用代码实现自动间隔点赞

二、初步代码实现

      初始代码如下:

$(function() { var num = 0; setInterval(function() { $.ajax({ type: "get", //请求方式 url: "http://*********TACT1499325086744310&num=1&jsonp_callback=TACT1499325086744310", success: function(data) { //请求成功处理,和本地回调完全一样 console.log("点赞成功" + num + "次"); num++; }, error: function() { //请求出错处理 console.log(data); } }); }, 1000); });

三、代码解释

$(function() { setInterval(function() { //dosomething },num) } )

setInterval() :是一个定时器,里面的 function是一个匿名函数 ,我们可以把想执行的一些代码写在里面;
num :这是一个参数,表示多少毫秒执行一直,我这里写1000就表示每秒钟执行一次.

ajax跨域问题

但是这样请求的话,会出现如下的 ajax跨域调用问题:

image.png

查询了一些资料以后,得出以下最终的解决办法如下:

$(function() { var num = 0; setInterval(function() { $.ajax({ type: "get", //请求方式 async: true, //是否异步 url: "http://***************TACT1499325086744310&num=1&jsonp_callback=TACT1499325086744310", dataType: "jsonp", //跨域json请求一定是jsonp jsonp: "jsonp_callback", //跨域请求的参数名,默认是callback //jsonpCallback:"successCallback", //自定义跨域参数值,回调函数名也是一样,默认为jQuery自动生成的字符串 data: { "query": "civilnews" }, //请求参数 beforeSend: function() { //请求前的处理 }, success: function(data) { //请求成功处理,和本地回调完全一样 console.log("点赞成功" + num + "次"); num++; }, complete: function() { //请求完成的处理 }, error: function() { //请求出错处理 console.log(data); } }); }, 1000); });

四、最终效果

image.png



评论区

登录后参与交流、获取后续更新提醒

目录
暂无数据