gpt4 book ai didi

javascript - ASP.NET MVC Javascript 重定向编码问题

转载 作者:行者123 更新时间:2023-11-29 16:23:01 25 4
gpt4 key购买 nike

我正在尝试使用 Razor 将 URL 注入(inject) Javascript 变量,然后将浏览器重定向到该 URL。我需要这样做,因为我的应用程序完全基于 AJAX,并且我正在重定向到 Facebook 身份验证页面。

执行客户端重定向的 View 如下所示:

@model Site.Core.ViewModels.Auth.FacebookCanvasLoginModel

<script type="text/javascript">
var redirectUrl = '@(Model.FacebookLoginUrl)';

window.top.location.href = redirectUrl;
</script>

Model.FacebookLogin URL 的值由 MVC 中的 Url.Action() 助手生成。

问题是实际重定向到的位置是:

http://dev.mydomain.net/Auth/RequestPermission?permissions=read_stream%2Cuser_photos&amp;redirectUrl=http%3A%2F%2Fdev.mydomain.net%2Fnewsfeed%3F_%3D1328276903643

其中包含 &redirectUrl= 而不是 &redirectUrl=

如何在不将 & 编码为 & 的情况下将此 URL 传递给 window.location.href,同时将 redirectUrl 保持为编码的 URL 字符串?

最佳答案

您需要获取 Raw 值,这样它就不会对该值进行 html 编码。

@Html.Raw(Model.FacebookLoginUrl)

您正在将它放入 javascript 中,并且您将希望转义任何可能使您的 javascript 出错的内容。所以试试这个:

var redirectUrl = @Html.Raw(Json.Encode(Model.FacebookLoginUrl))

供您引用:Json class

关于javascript - ASP.NET MVC Javascript 重定向编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com