jquery - jquery 重定向后在 asp.net mvc 中查找引用页面

标签 jquery asp.net-mvc redirect referrer

我正在使用 jquery 伪造自动回发,因为我使用的是 asp.net mvc。它在选择列表(下拉列表)中执行,如下所示:

$(document).ready(function() {
    // autopostback for character drop down list
    $('#playerCharacters').change(function() {
        var charId = $('#playerCharacters option:selected').val();
        window.location = "/Character/SetDefault/" + charId;
    });
});

现在在/Character/SetDefault/[charID] ( Controller 、操作、ID)中,我尝试使用以下内容访问引用 URL:

Request.UrlReferrer

但它的结果为空。关于为什么会这样的任何想法吗?

最佳答案

我认为浏览器处理直接设置 window.location 的方式与处理用户直接在地址栏中输入新 URL 的方式相同。这意味着没有引用者,因为引用者是一个页面直接引用另一个页面(例如通过链接)而不是浏览器只是转到另一个页面...

我认为解决您的问题的最简单方法是确保您的下拉列表采用发布(或获取)到/Character/SetDefault 的表单,然后让您的 javascript 提交如下表单:

$('#playerCharacters').change(function() {
    this.form.submit();
});

然后,您只需更改 Controller 中的 SetDefault 操作即可拥有playerCharacters 参数,以便 MVC 将表单的请求值正确绑定(bind)到您的方法。

关于jquery - jquery 重定向后在 asp.net mvc 中查找引用页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/702476/

相关文章:

javascript - jQuery UI tabs.add() 创建两个选项卡,其中一个处于奇怪的位置,空且未使用

javascript - 在jquery中复制由换行符分隔的多个li文本

jquery:如何从全局 ajaxSuccess 处理程序中取消特定的 ajaxSuccess 处理程序

javascript - Ajax获取方法错误

C# mysql插入语句。参数化查询示例?

redirect - 更新指向已重定向 URL 的链接

jquery根据表单输入显示div

asp.net - 如何在我的 vnext 应用程序中启用 roslyn 自动构建

iis - 当 SSL 证书不再有效时从 https 重定向到 http

redirect - nginx 重定向所有流量,而不仅仅是 server_name