4

我需要使用 jQuery Ajax 将 value/s(Windows 路径)传输到 json,以便将值抛出或解码到 PHP 脚本,但它无法读取带有反斜杠的 json 中的 value/s。必须将其转换为带有反斜杠的整个路径的 json 值。

我的示例代码:

/*==========================================================================*/


var file_name = "C:\WINDOWS\Temp\phpABD.tmp";

var jsonSearchContent = "{\"file_name\":\""+file_name+"\"}";


            $.ajax({
                type:"POST",
                dataType: "html",
                url: url,
                data: {sendValue:jsonSearchContent},
                complete: function (upload) {
                    alert(upload.responseText);
                }
            }
            );
/*==========================================================================*/

提前致谢。

4

2 回答 2

5

逃脱它。

var file_name = "C:\\WINDOWS\\Temp\\phpABD.tmp";

顺便说一句,你不需要使用json格式发送到php,直接发送值,不需要json_decode在php端做。

data: {file_name: file_name},
于 2012-10-08T03:55:28.727 回答
3

javascript 中的反斜杠字符用于转义特殊字符,如制表符、回车符等。在 javascript 字符串中,如果要表示实际的反斜杠字符,请使用'\\'它,它将被视为单个反斜杠。尝试这个:

$.ajax({
    type:"POST",
    dataType: "html",
    url: url,
    data: {
        sendValue: {
            file_name: "C:\\WINDOWS\\Temp\\phpABD.tmp"
        }
    },
    complete: function (upload) {
        alert(upload.responseText);
    }
});

这是关于 javascript 字符串的 w3schools 页面

于 2012-10-08T03:59:52.137 回答