首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AJAX请求之后获取请求url

在AJAX请求之后获取请求url
EN

Stack Overflow用户
提问于 2014-11-24 21:54:43
回答 1查看 602关注 0票数 0

我有一个带有链接Search?params的搜索页面,但是任何后续的搜索请求都是使用Asp.Net通过Ajax表单发出的。它向具有不同名称的操作发出请求,例如InstantSearch?params,但在浏览器中我看到的是Search?params

从这个页面我有一个链接到另一个页面,我需要保存Url返回到此页面。

但是如果我有一个AJAX请求,Request.Url会返回InstantSearch?params,而不是浏览器地址栏中的链接。而且这个链接的操作只返回一个局部视图,所以当它返回到前一个URL时,页面就会变得一团糟。

如何从Asp.Net中的浏览器地址栏获取上一页的链接,而不是实际请求的URL?

在搜索时,我们像这样加载砖石容器:

代码语言:javascript
复制
$("#main-content-container").load("/Kit/InstantSearch?" + parameters, function() {
        $('#mason-container').imagesLoaded(function() {
            $('#mason-container').masonry({
                itemSelector: '.kit-thumb-container',
                columnWidth: 210,
                isFitWidth: true,
                gutter: 10
            });


        });
    });

然后我在同一页面上调用foundation Joyride,需要传递当前页面的URL才能返回。Joyride调用此链接下页面的onload:

代码语言:javascript
复制
@Html.ActionLink("Go to kit details help", "OrderPageHelp", "Kit", new { returnUrl = Request.Url }, new { @style = "font-size:16px;" })

所需页面返回的Url是Kit/Search?params,但是在使用Kit/InstantSearch?params加载masonry时,Request.Url会返回最后一个请求。

如何在不进行硬编码的情况下传递所需的Url?

EN

回答 1

Stack Overflow用户

发布于 2017-04-18 04:11:09

所以这个有点旧,但我最近发现自己遇到了类似的情况,并找到了一个快速的解决方案。如果有人感兴趣的话就把它贴出来。

您可以通过利用TempData类来解决这个问题。临时数据可用于在请求之间存储数据。只要会话处于活动状态,这些信息就会一直保留,直到您再次检索数据为止。

因此,当用户第一次加载页面时,在ajax方法被触发之前,将数据存储在页面上的变量和TempData("YourVariableName")对象中。使用保存的URL创建操作链接。当ajax请求被触发时,它将覆盖Request.URL中的值。因此,检查TempData("YourVariableName")中的值,如果存在,则使用该值并重置TempData("YourVariableName")值。这将保持页面URL的原始值,即使在触发了许多ajax请求之后也是如此。Visual Basic中的代码:

代码语言:javascript
复制
@Code
    Dim LastURL As String = ""
    If Not TempData("LastURL") Is Nothing Then
        LastURL = TempData("LastURL")
        TempData("LastURL") = LastURL
    Else
        LastURL = Request.Url.AbsoluteUri
        TempData("LastURL") = LastURL
    End If
End Code

并将存储在LastURL变量中的值作为参数传递给操作链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27106522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档