我的服务器应该返回一个URL字符串,以传递给我的Ajax调用的Success方法。我想要做的就是使用此URL执行简单的重定向,但从服务器返回的字符串看起来很奇怪。
以下是从服务器返回的内容:
"products\/1\/volvo-xc90-t6"
从服务器返回此代码的代码是:
<cfreturn "products/#rsProduct.ProductID#/#rsProduct.ProductTitle#" />
所以我得到的所有内容包括双引号和转义斜线。当我将此字符串的一部分包含在此代码中时,重定向使用此字符串失败:
success: function (result) {
window.location.replace(result);
}
如何正确格式化字符串?我的服务器端需要解决这个问题,还是我的JQuery错了?
答案 0 :(得分:1)
您可以替换前端的额外斜线,如下所示:
success: function (result) {
window.location.replace(result.replace('\/', '/'));
}
更新:
我忘了提及window.location.replace
将从历史记录中删除上一页,因此用户无法单击浏览器的后退以返回到上一页。要保留历史记录,请使用window.location.href = result.replace('\/', '/')