Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 额外的斜杠出现在json数组中_Javascript_Php_Jquery_Arrays_Json - Fatal编程技术网

Javascript 额外的斜杠出现在json数组中

Javascript 额外的斜杠出现在json数组中,javascript,php,jquery,arrays,json,Javascript,Php,Jquery,Arrays,Json,我致力于可嵌套拖放。当我拖放平铺时,它在textarea中生成一个数组,它是[{},{“id”:267},{“id”:266}]。现在,当我在操作页面中发布这个数组时,它发布了[{},{\'id\':267},{\'id\':266}]。为什么这个额外的斜杠会出现在数组中。在action page中,我使用json_decode转换这个数组。现在,我如何从数组中删除这个斜杠,或者如何忽略这个数组,我通过jsondecode成功地解码了这个数组 $(document).ready(function

我致力于可嵌套拖放。当我拖放平铺时,它在textarea中生成一个数组,它是
[{},{“id”:267},{“id”:266}]
。现在,当我在操作页面中发布这个数组时,它发布了
[{},{\'id\':267},{\'id\':266}]
。为什么这个额外的斜杠会出现在数组中。在action page中,我使用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();

});

下面将删除数组中的第一个对象,但并不能真正解决为什么要首先添加它的真正问题

var arr = [{},{\"id\":267},{\"id\":266}];
arr.splice(0,1);

听起来像是在服务器上设置了魔法引号。这是PHP的一个旧的、不推荐使用的特性,任何请求数据都会自动用斜杠转义,而不管是什么。您可以按照说明禁用它们。在该页面中,根据您有权访问的内容,其中任何一项都应起作用:

在php.ini中 如果您可以访问php.ini,这是最有效的选项

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
In.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);
}
?>


您可以发布您的代码吗:)在您的代码中的某个地方,它正在被转义,这并不罕见。发布相关代码是浏览器端出现的额外斜杠,还是仅出现在PHP中的$u Post变量中?哪一个版本的PHP?它在$u POST变量中出现在action pageYes中,但是如何?你能提供代码吗。。。。。。。。