php cookie值到javascript数组
php cookie values to javascript array
我需要将php代码转换为javascript并将其显示在html页面上。我正在设置我的cookie(示例中有一些特殊错误):
<?php
setcookie("data","test1=avalue;test2=bvalue;test3=cvalue;test4=;==;=;=;",time()+(60)*(60));
?>
则另一个页面正在读取/检查错误:
<?php
if(isset($_COOKIE)){
$data=array();
if(strlen($_COOKIE['data'])>0){
if((strstr($_COOKIE['data'],";")!=NULL)and(strstr($_COOKIE['data'],"=")!=NULL)){
$c=explode(";",$_COOKIE['data']);
foreach($c as $t){
if(strstr($t,"=")!=NULL){
$v=explode("=",$t);
if($v[0]!=""){
if($v[1]!=""){
$data[$v[0]]=$v[1];
}else{
$data[$v[0]]="n/a";
}
}
}
}
}else{
$data["errors"][]="corupted cookie data";
}
}else{
$data["errors"][]="specific cookie not found";
}
}else{
$data["errors"][]="cookies must be enabled";
}
?>
给出的例子是过滤所有的错误数据,并用php语言的print_r显示:
Array (
[test1] => avalue
[test2] => bvalue
[test3] => cvalue
[test4] => n/a
)
因此,我想要的是,获得纯javascript语言的读取代码(在我的示例中是用php编写的)。请注意,我在cookie中出现了特殊错误"=;==;=;",它们必须在javascript中正确过滤,就像在我的php代码中一样。
function func1(str) {
var data = {};
data["errors"] = [];
if(str.length > 0){
if(str.indexOf(';') != -1 && str.indexOf('=') != -1) {
var ary = str.split(';');
for(var i = 0, l = ary.length; i < l; i++) {
if(/[^'=]+'=[^'=]*/.test(ary[i])){
var v = ary[i].split('=');
if(v[1] !== ''){
data[v[0]]=v[1];
}else{
data[v[0]]="n/a";
}
} else {
data["errors"].push("corupted cookie data");
}
}
} else {
data["errors"].push("specific cookie not found");
}
} else {
data["errors"].push("cookies must be enabled");
}
console.log(data);
return data;
}
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript