可嵌套拖放。当我拖放瓷砖时,它会在textarea中生成一个数组,它是[{},{"id":267},{"id":266}]
。现在,当我张贴这个数组在行动页面,然后它张贴[{},{'"id'":267},{'"id'":266}]
。为什么这个额外的斜杠出现在数组中。在动作页,我转换这个数组使用json_decode。现在我如何从数组中删除这个斜杠或者我如何忽略这个数组我通过jsondecode成功解码了这个数组。
$(document).ready(function()
{
var updateOutput = function(e)
{
var list = e.length ? e : $(e.target),
output = list.data('output');
if (window.JSON) {
output.val(window.JSON.stringify(list.nestable('serialize')));//, null, 2));
} else {
output.val('JSON browser support required for this demo.');
}
};
// activate Nestable for list 1
$('#rightservices').nestable({
group: 1
})
.on('change', updateOutput);
// output initial serialised data
updateOutput($('#rightservices').data('output', $('#siteservices')));
//$('#nestable3').nestable();
});
听起来好像Magic Quotes是在服务器上设置的。这是PHP的一个旧的、已弃用的特性,任何请求数据都会自动用斜杠转义,而不管它是什么。您可以按照这里列出的说明禁用它们。在那个页面上,这些都可以工作,这取决于您可以访问的内容:
在php . ini中如果你有权限访问php.ini,这是最有效的选项。
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
在. htaccess 如果你没有权限访问php.ini:
php_flag magic_quotes_gpc Off
在运行时这是低效的,只有当你不能使用上述设置时才使用。
<?php
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
?>
下面将删除数组中的第一个对象,但并没有真正解决为什么要首先添加它的真正问题?
var arr = [{},{'"id'":267},{'"id'":266}];
arr.splice(0,1);