我有一段JavaScript代码,尝试用字符串替换图像的src属性。该字符串是从服务器返回的,其中包含反斜杠,因此在更改映像的src属性之前,我将反斜杠替换为正斜杠。
这是一个问题,因为此字符串已保存到服务器上并在以后读取,并且因为它以反斜杠保存,所以会引发“ SyntaxError:无效的Unicode转义序列”
同一代码在以下方面的行为有所不同: 1. 2个不同的实时网站(我已将代码部署到2个不同的IIS网站和应用程序池)
我在相同的浏览器,相同的版本上测试了这两个网站。
当我尝试将代码粘贴到控制台中时,它可以完美工作,src属性将使用正斜杠进行更新。但是,当我让代码自行运行时,src属性将使用反斜杠进行更新。
代码如下
image.src = frontEndPath.replace(/\\/g, "/");
其中frontEndPath
类似于"\images\uploads\myimage.jpg"
请注意,当我在控制台中运行frontEndPath.replace(/\\/g, "/");
时,它会按预期运行,用正斜杠替换反斜杠。
我希望image.src = frontEndPath.replace(/\\/g, "/");
应该将图片的src属性更改为带有正斜杠的字符串。
希望让JavaScript持续运行代码不是很多:)
以下是上下文中的代码段:
xhr.onload = function () {
var data = JSON.parse(xhr.response);
if (xhr.status >= 200 && xhr.status < 300) {
if (data.success) {
image.src = data.frontEndPath.replace(/\\/g, "/");
}
}
};
将包含图像的html字符串保存到数据库中后,SyntaxError: Invalid Unicode escape sequence
发生在DB中,然后再次读取,因为它在字符串中看到\ u。