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

AJAX : how to send backslash in data?

本文关键字:数据 AJAX      更新时间:2023-10-21

我正试图通过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,您也只会看到$)。要写文字'$,首先需要写'字符串(但反斜杠也必须转义,所以我们有"''",然后把$写为"'$"

$buffer = "...'''$_POST...";

产生预期结果。

另请参阅http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

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

function _basename(path) {
    return path.replace(/''''/g,'/').replace( /.*''//, '' );
}
Uncaught SyntaxError: Unexpected token ,

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

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

救命!