Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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
Php AJAX:如何在数据中发送反斜杠?_Php_Javascript_Ajax_Backslash_Slash - Fatal编程技术网

Php AJAX:如何在数据中发送反斜杠?

Php AJAX:如何在数据中发送反斜杠?,php,javascript,ajax,backslash,slash,Php,Javascript,Ajax,Backslash,Slash,我试图通过ajax发送php代码,以便将其保存在文件中。 但当我发送类似于: ...$buffer = "if(\$_POST){".chr(13).chr(10);... 反斜杠消失了 这是我正在使用的代码: $.post('save.php', { "c": window[currentCode].getValue(), processData: false, "f": fileName }, fun

我试图通过ajax发送php代码,以便将其保存在文件中。 但当我发送类似于:

...$buffer = "if(\$_POST){".chr(13).chr(10);...
反斜杠消失了

这是我正在使用的代码:

$.post('save.php', {
            "c":  window[currentCode].getValue(),
            processData: false,
            "f": fileName
        }, function(data){
           ....
        });
        return false;
}
提前谢谢

"if(\\\$_POST){"

前面还有两个反斜杠。

这不是Ajax问题;你误解了逃跑。在PHP中,
“\$”
的计算结果为字符串
$
,因为反斜杠只有转义函数(如果在浏览器中打开save.PHP,您还可以看到
$
)。要编写literal
\$
,首先需要编写
\
字符串(但反斜杠也必须转义,因此我们有
“\\\”
,然后将
$
写为
“\$”
。这样做

$buffer = "...\\\$_POST...";
产生预期的结果


另请参见

当我需要用javascript中的正则表达式编辑文件时,我仍然有一个问题,如下所示:

function _basename(path) {
    return path.replace(/\\\\/g,'/').replace( /.*\\//, '' );
}

Uncaught SyntaxError: Unexpected token ,
我用来编辑.php文件的函数损坏了我的javascript代码。 我需要一种编辑代码的方法,可以用于所有语言

编辑: 我只是在Linux服务器上遇到了这个问题,而不是在windows中


请帮助!

您需要将反斜杠转义,使其具有字面意义。只需将其加倍,然后再添加一个,以正确转义
$
如果(\\\$\u POST)
谢谢。解决方案:window[currentCode].getValue()。替换(/\\/g,\\\\\\”)这可能会在您的代码的其他方面产生一些不可预见的后果。我现在对您的问题有点困惑,所以我不知道如何帮助您,但这里有一些参考来帮助您。在Linux中,额外的反斜杠被添加了两次!