将javascript数组转换为php不可序列化的字符串
Convert javascript array into a php unserializable string
我需要将javascript数组转换为php"unserialize"可读的字符串。
在我的javascript中,我有:
var params = {};
params['showTitle'] = 0;
params['class'] = '';
params['ajax'] = 0;
params['ajaxDom'] = '';
params['what'] = 'defi';
params['color'] = 'dark';
输出I真正需要得到的是:
a:6:{s:9:"showTitle";i:0;s:5:"class";s:0:"";s:4:"ajax";i:0;s:7:"ajaxDom";s:0:"";s:4:"what";s:4:"defi";s:5:"color";s:4:"dark";}
为什么我需要这个?因为服务器端的输出是红色的(带有php函数unserialize),我无法更改它(它是框架的一部分)。
我的问题是:如何转换javascript数组?我试过(但没有成功):
params = JSON.stringify(params);
params = $.param(params);
这应该很容易,但我被卡住了。。。非常感谢。
请查看您是否可以使用此
http://phpjs.org/functions/serialize/
只需将该js数组作为JSON发送到服务器,然后使用JSON_decode对其进行解析,并使用serialize函数对其进行序列化。然后你可以取消它的序列化。
这个函数/answer假设了很多:主要是JavaScript"数组"中仅有的两种类型的数据将是整数和字符串,尽管它会产生PHP unserialize函数所需的输出类型。
var params = {};
params['showTitle'] = 0;
params['class'] = '';
params['ajax'] = 0;
params['ajaxDom'] = '';
params['what'] = 'defi';
params['color'] = 'dark';
function jsArrToPhpSerializedString( arrObj ) {
var str_parts = ['', '', '}'],
arrLen = 0,
ret = '';
for (var prop in arrObj) {
var val = arrObj[prop];
arrLen += 1;
str_parts[1] += 's:' + prop.length + ':"' + prop + '";';
if (typeof val == 'number') {
str_parts[1] += 'i:' + val + ';';
} else if (typeof arrObj[prop] == 'string') {
val = (!val) ? '""' : '"' + val + '"';
str_parts[1] += 's:' + arrObj[prop].length + ':' + val + ';';
}
}
str_parts[0] = 'a:' + arrLen + ':{';
ret = str_parts.join('');
return ret;
}
console.log( jsArrToPhpSerializedString(params) );
// "a:6:{s:9:"showTitle";i:0;s:5:"class";s:0:"";s:4:"ajax";i:0;s:7:"ajaxDom";s:0:"";s:4:"what";s:4:"defi";s:5:"color";s:4:"dark";}"
相关文章:
- 将 JSON 对象转换为序列化字符串以进行服务器端处理
- 如何将主干序列化形式的所有字符串元素大写
- PHP 反序列化 JS 序列化的变量字符串
- 字符串化和解析 JSON(序列化对象结构)和反序列化,将 JSON 字符串转换为对象结构
- 如何从 .NET 字符串序列化 javascript 函数
- jquery $.ajax 的 MVC 3 反序列化请求 json 到对象中填充空值而不是空白字符串
- 通过D3's.attr不在序列化的(serializeToString)字符串中
- 处理没有重复值的序列化字符串
- 如何序列化包含混合HTML&XML转换为字符串
- webapi获胜't使用$.param反序列化字符串数组
- 将javascript数组转换为php不可序列化的字符串
- 如何在网站中反序列化ajax调用的result.d中包含的字符串
- 如何使Rails过滤器从序列化参数中分离解析JSON字符串
- 从序列化字符串中获取值
- PHP反序列化Javascript序列化字符串
- Web2py: json序列化器和javascript有关于python字符串引号的问题
- 如何将JavascriptSerializer序列化的DateTime字符串转换为Javascript日期对象
- 在序列化我的对象时,我怎样才能强迫Jackson把数字写成字符串呢?
- 无法解析json序列化字符串与mongodb对象id以及""
- jQuery子字符串或正则表达式,用于从序列化字符串中删除多余的字符