Php AJAX:如何在数据中发送反斜杠?
我试图通过ajax发送php代码,以便将其保存在文件中。 但当我发送类似于: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
...$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中,额外的反斜杠被添加了两次!