vm3*_*370 1 javascript escaping backslash
我目前正在解决标题中提到的问题,我在某种程度上找不到用双反斜杠正确替换反向的方法,这样我就可以正确地将字符串作为参数提供给web服务.让我告诉你我的尝试.其中一些确实适用于其他人,但不适合我......我目前正在使用FF18.0.1进行测试
WSParameters.replace(/\\/g, "\\\\\\\\");
WSParameters.replace("\\", "\\\\\\\\");
WSParameters.replace(/\\/g, "\\\\");
WSParameters.replace(/\\/g, "\\");
WSParameters.replace(/\\/g, "\");
WSParameters.replace("\\", "\\\\");
Run Code Online (Sandbox Code Playgroud)
非常感谢提前
编辑:我应该提到它以某种方式解析为JSON和firebug我看到源字符串中的反斜杠,但不是在JSON视图中.也许有另一种方式?但不知何故,它已经在替换反斜杠方面失败了.
EDIT2:
if (noAction == false) {
$.ajax({
type: "POST",
url: "WebService.asmx/" + webMethod,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: pAsync,
data: WSParameters,
success: function callFunction(result) { processPOSTResults(result, pType, pNot);},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error while communicating with WebAdmin web service. - ' + xhr.status + " " + thrownError);
}
});
}
Run Code Online (Sandbox Code Playgroud)
WSParameters.replace(/\\/g, "\\\\");应该这样做,在FF18也是如此.请注意,如果您使用JSON.stringify,则会自动完成.还要注意许多控制台输出(Firebug等)用引号包围字符串内容,但不要逃避它们.
| 归档时间: |
|
| 查看次数: |
12721 次 |
| 最近记录: |