如何在加载该页面之前使用 javascript 附加请求的标头



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

这属于注册控制器的索引操作

索引.html

<div class="signup-small-font pull-right"><a href="/Account/ResetPassword">Forgot password?</a></div>

单击此链接时,它将转到该 URL 并请求获取帐户控制器的重置密码操作的视图并获取重置PAssword.html

现在我想要的是,在发出该请求之前,我需要在服务器端的请求中附加一个自定义标头。 我正在使用ajax javascript:

function appendHeader(urlCulture){
$.ajax({
type: 'GET',
url: urlCulture,
headers: {
"Culture": 'zh'
},
})
}

在请求重置密码之前,我应该在索引.html锚链接中做什么来调用此函数.html

就像我想要的是当我单击它时,它将导航到帐户/重置密码并使用从javascript文件获取的响应来渲染而不是正常响应

在你的 html 文件中

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

在你的 js 中

function appendHeader(urlCulture){
$.ajax({
type: 'GET',
url: urlCulture,
headers: {
"Culture": 'zh'
},
success: function(res) {
window.location = 'Account/ResetPassword';
}
})
}

试一试。我不太确定这是否是你想做的。

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

这里有一个例子: 从锚点 (a( 标记获取本地 href 值

你可以做类似的东西:

<div class="signup-small-font pull-right"><a onclick="return appendCustomHeader(this);" href="/Account/ResetPassword">Forgot password?</a></div>

在像之前的回复一样的 js 函数中,您可以制作如下内容:

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;
}

我还没有测试过它,我希望它对你有用。

似乎您可以禁用返回 false 的 HRF 重定向,

看到这个:

如果执行点击,如何禁用 HREF?

最新更新