如何编码';Javascript中的字符?

如何编码';Javascript中的字符?,javascript,Javascript,我有: 但是,当消息动态地从服务器发出时(例如):“Men's”不起作用 我试过: function showMessage(message) { alert(message); } 似乎不起作用。这是一个简单的示例,实际代码更复杂,但本质上这就是问题所在。您应该为全局替换指定g参数(不仅仅是第一个匹配) 您还应该避开斜杠: function myEncode(message) { return message.replace("'", "\'"); } showMessag

我有:

但是,当消息动态地从服务器发出时(例如):“Men's”不起作用

我试过:

function showMessage(message) {
    alert(message);
}

似乎不起作用。这是一个简单的示例,实际代码更复杂,但本质上这就是问题所在。

您应该为全局替换指定
g
参数(不仅仅是第一个匹配)

您还应该避开斜杠:

function myEncode(message) {
    return message.replace("'", "\'");
}

showMessage(myEncode(message));

您应该为全局替换指定
g
参数(不仅仅是第一个匹配)

您还应该避开斜杠:

function myEncode(message) {
    return message.replace("'", "\'");
}

showMessage(myEncode(message));

好的读物:我假设您的问题是,您的服务器生成的代码导致类似于showMessage(myEncode('Men's'))?因此,您的JavaScript在这一点上已经被破坏了——因此,如果您已经有JS语法错误,那么尝试替换JavaScript中的某些内容当然是毫无意义的(哦!)。在您将该值作为JS字符串值输出之前,请在服务器端代码中执行转义。是的,它实际上是从服务器端中断的。您不能在服务器上修复它吗?我认为这比用JavaScript修补更符合逻辑。为什么不使用服务器和客户端都能理解的东西,比如JSON?这似乎不是正确的方法……事实上,问题出在服务器端。谢谢你的提示!好的读物:我假设您的问题是,您的服务器生成的代码导致类似于showMessage(myEncode('Men's'))?因此,您的JavaScript在这一点上已经被破坏了——因此,如果您已经有JS语法错误,那么尝试替换JavaScript中的某些内容当然是毫无意义的(哦!)。在您将该值作为JS字符串值输出之前,请在服务器端代码中执行转义。是的,它实际上是从服务器端中断的。您不能在服务器上修复它吗?我认为这比用JavaScript修补更符合逻辑。为什么不使用服务器和客户端都能理解的东西,比如JSON?这似乎不是正确的方法……事实上,问题出在服务器端。谢谢你的提示!这只是将
替换为
您需要编写
“\\\”
这只是将
替换为
您需要编写
“\\”