如何在加载页面之前使用javascript追加请求的标题

如何在加载页面之前使用javascript追加请求的标题,javascript,.net,ajax,model-view-controller,get,Javascript,.net,Ajax,Model View Controller,Get,我有两个html文件属于两个不同的控制器 这属于SignupController的索引操作 Index.html <div class="signup-small-font pull-right"><a href="/Account/ResetPassword">Forgot password?</a></div> 在请求resetPassword.html之前,我应该在index.html锚链接中执行什么操作来调用此函数 就像我想要的一样,当我

我有两个html文件属于两个不同的控制器

这属于SignupController的索引操作

Index.html

<div class="signup-small-font pull-right"><a href="/Account/ResetPassword">Forgot password?</a></div>
在请求resetPassword.html之前,我应该在index.html锚链接中执行什么操作来调用此函数

就像我想要的一样,当我点击它时,它将导航到Account/Resetpassword,并使用从javascript文件获得的响应来呈现,而不是html文件中的正常响应

<div class="signup-small-font pull-right"><a onclick="appendHeader(urlCulture)" href="#">Forgot password?</a></div>
试试看。我不太确定这是否是您想要做的。

在您的html文件中

<div class="signup-small-font pull-right"><a onclick="appendHeader(urlCulture)" href="#">Forgot password?</a></div>

试试看。我不太确定这是否是您想要做的。

您正在使用路由,您需要从javascript函数获取url

这里有一个例子:

你可以做一些类似的事情:

<div class="signup-small-font pull-right"><a onclick="return appendCustomHeader(this);" href="/Account/ResetPassword">Forgot password?</a></div>
我没有测试过,我希望它对你有用

似乎您可以禁用href重定向返回false

见此:


如果您正在使用路由,则需要从javascript函数获取url

这里有一个例子:

你可以做一些类似的事情:

<div class="signup-small-font pull-right"><a onclick="return appendCustomHeader(this);" href="/Account/ResetPassword">Forgot password?</a></div>
我没有测试过,我希望它对你有用

似乎您可以禁用href重定向返回false

见此:



它说的是“window.location不是一个函数”,应该是window.location=“Account/ResetPassword”;我已经更改到了正确的位置,但现在的问题是AccountController被调用了两次,一次是使用自定义标题,然后它调用了一次而没有使用它。您是否将href的值更改为“#”?是的,我已经这样做了,但是通过成功地将window.location设置为Account/ResetPassword,使其触发帐户控制器中的操作againit说“window.location不是函数”,它应该是window.location=“account/ResetPassword”;我已经更改到了正确的位置,但现在的问题是AccountController被调用了两次,一次是使用自定义标题,然后它调用了一次而没有使用它。您是否将href的值更改为“#”?是的,我已经这样做了,但是通过成功地将window.location设置为Account/ResetPassword,使其再次触发帐户控制器中的操作。这种方法还以某种方式发送两次请求,一次发送带有标头的请求,一次发送不带标头的请求。当“href”起作用时,即发送不带标头的请求。尝试使用不同的属性名,而不是“href”,我已经编辑了答案。请看。如果我改为route,它将不再导航到该页面。就像我想要的一样,当我点击它时,它将导航到Account/Resetpassword,并使用从javascript文件获得的响应来呈现,而不是我编辑的普通响应。return false要禁用href重定向,请尝试。如果设置return false,即使我仍然得到正确的响应,也无法导航到该页面。这不是我想要的。因此,我的想法是我需要导航到该页面,但它将使用从javascript文件获得的响应呈现该页面。hi,这种方法还以某种方式发送请求两次,一次带标题,一次不带标题。当“href”起作用时,即不带标题的请求。尝试使用不同的属性名,而不是“href”,我已经编辑了答案。请看。如果我改为route,它将不再导航到该页面。就像我想要的一样,当我点击它时,它将导航到Account/Resetpassword,并使用从javascript文件获得的响应来呈现,而不是我编辑的普通响应。return false要禁用href重定向,请尝试。如果设置return false,即使我仍然得到正确的响应,也无法导航到该页面。这不是我想要的。因此,我需要导航到该页面,但它将使用从javascript文件获得的响应呈现该页面
function appendCustomHeader(element){

    var url = element.href; // to get full url 

    $.ajax({
        type: 'GET',
        url: url, 
        headers: {
            "CustomHeader": 'YourCustomHeader'
        },
        success: function(res) {
            // here you make anything else with your response
        }
    })

   return false;
}