『壹』 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);