『壹』 php js跨域请求,并设置cookies
首先要说的是,阁下的问题看起颇费神,中文英文符号混杂,大小写混杂,让阅读者看起相当吃力。
其次,你跨域,JS不能使用POST和GET请求的,这是浏览器安全规则,不过可以使用其它办法来获得类似结果。
JS跨域,POST可以通过提交隐藏表单至隐藏框架页来得到请求结果。而GET请求则可以在目标地址后面加上要请求的GET参数然后抓取目标页的所有网页内容,再通过正则处理获得结果;也可以使用JSON来获取(详情请自行学习JSON,很简单的)。
阁下的问题,只是获取COOKIE时间,那么可以直接通过JS抓取目标页或JSON获得。而B域名的cookies.php,完全不需要访问index.php来获得上一个COOKIE的时间,因为它们是同一个站,index.php能访问到的COOKIE,cookies.php也能访问到。
B域名的cookies.php参考如下(仅供参考,具体请根据自己情况另行写代码):
if(isset($_COOKIE["user"]))//
$time=$_COOKIE["user"];//
else
$time=0;//
$_COOKIE["user"]=time();
echo$time;
//或输出JSON,请自行学习
终上,仅是提供一个思路,更多的还是要靠阁下自行摸索学习。
另外,这种跨域请求,建议使用JSON,因为它简单方便。当你学会了,就表示你会写接口和使用接口了(虽然这个只是最简单的接口)。当然除了JSON还可以使用XML,只是性能稍差一些,也不错
『贰』 js如何返回当天零点的时间戳
1、new Date(new Date().toLocaleDateString()).getTime(),没有 24:00:00 只有23:59:59 加一秒就到 0:00:00 所以别纠结24:00:00。
2、具体步骤:
1)方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可。
3)对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。
『叁』 js 中如何取出数组中的值
var arr=[2,4,5,3,5,3,0];
var arrvalue;//用于存放取出的数组的值
for(var i=0;i<arr.length;i++){
arrvalue=arr[i];//数组的索引是从0开始的
console.log(arrvalue);//把取出的值打印在控制台上
}
js 获取数组中的最大值和最小值
var arr = [3,12,23,18,25,33,22,30,1]
方案一: 思想 首先对数组进行排序(小 》大),第一项为最小值,最后一项为最大值
var min;
var max;
arr.soft(function(a,b){return a-b;})
min = arr[0];
max = arr[arr.length-1];
方案二:采用Math对象里的min()方法和 max()方法,需要将比较的数一个一个的传递进来才能比较,但是可以通过以下方式转化即可;
var min = Math.min(arr);
console.log(min) // NAN
console.log(Math.min(3,12,23,18,25,33,22,30,1)) // 1
console.log(Math.max(3,12,23,18,25,33,22,30,1)) // 33
var min =eval("Math.min(" +arr.toString()+")"); // 1 采用字符串拼接
var min = eval("Math.max(" +arr.toString()+")");; // 33
var min = Math.min.apply(obj,arr) // 1 利用apply方法一项一项传质的特点
var max =Math.max.apply(obj,arr) // 33
『肆』 js获取div的height第一次总是0
用clientHeight属性
document.getElementById("").clientHeight
别顶来顶去的.就知道执行顺序顶个P用
没看到人家问的时候说获取到值是专0了么?
没有报错!属获取到值了!
别以为人家会那么2连执行顺序都不懂.
他的情况估计是获取的style.height.如果style没有设置的话应该是undefined
类型换算下来就是0
然后他再设置一下style.height=10;
然后再拿就可以拿到了
所以如果要直接拿一个元素的高度可以直接用clientHeight获取
不要通过style来拿
『伍』 js获取当天零点时间戳
// npm i moment
moment().startOf('day')// 当天零点
moment().subtract(1,'days').startOf('day')// 昨天零点
还有你这为啥过1秒才叫零点?
『陆』 最简单的JS给日期补0
适合用在已经有取到没有格式化的数据了
//获取系统当前时间
var nowdate = new Date();
var y = nowdate.getFullYear();
var m = (nowdate.getMonth()+1).toString().padStart(2,'0');
var d = nowdate.getDate().toString().padStart(2,'0');
var currentTime = y+'-'+m+'-'+d;
that.date1=currentTime;
that.date3=currentTime;
//获取系统前一个月的时间
nowdate.setMonth(nowdate.getMonth()-1);
var y = nowdate.getFullYear();
var m = (nowdate.getMonth()+1).toString().padStart(2,'0');
var d = nowdate.getDate().toString().padStart(2,'0');
var preMonth = y+'-'+m+'-'+d;
that.date=preMonth;
that.date2=preMonth;
适用于时间戳转换日期的时候顺便补0
var change = new Date(that.dataList[i][0] * 1000);
var Y = change.getFullYear() + "-";
var M = (change.getMonth() + 1 < 10 ? "0" + (change.getMonth() + 1) : change.getMonth() + 1) + "-";
var D= (change.getDate() < 10 ? "0" + (change.getDate()) : change.getDate()) + " ";
var h= (change.getHours() < 10 ? "0" + (change.getHours()) : change.getHours()) + ":";
var m= (change.getMinutes() < 10 ? "0" + (change.getMinutes()) : change.getMinutes()) + ":";
var s= (change.getSeconds() < 10 ? "0" + (change.getSeconds()) : change.getSeconds());
var newDate = Y + M + D + h + m + s;
『柒』 js或者jquery怎样获得前一天0点,前一周0点,指定月份的时间戳
// 今天
var today = new Date();
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
today.setMilliseconds(0);
alert(today);
var oneday = 1000 * 60 * 60 * 24;
// 昨天
var yesterday = new Date(today - oneday);
alert(yesterday);
// 上周一
var lastMonday = new Date(today- oneday * (today.getDay() + 6));
alert(lastMonday);
// 上个月1号
var lastMonthFirst = new Date(today - oneday * today.getDate());
lastMonthFirst = new Date(lastMonthFirst - oneday * (lastMonthFirst.getDate() - 1));
alert(lastMonthFirst);