我正在尝试进行客户端单击并重定向到添加了标题信息的另一个站点,我的 onclick 客户端代码是这样的:
function selectApp(appGUID, userId ,embedUrl)
{
if(embedUrl==="")
{
var success = setAppGUID(appGUID);
window.location.replace('AppDetail.aspx');
}
else
{
$.ajax({
type: "POST",
url: embedUrl,
contentType: "text/html",
beforeSend: function (xhr, settings) {
xhr.setRequestHeader("UserId", userId);
},
success: function (msg) {
//actually redirect to the site
window.location.replace(embedUrl);
}
});
}
}
而服务器端代码embedUrl
是
protected void Page_Load(object sender, EventArgs e)
{
string isSet = (String)HttpContext.Current.Session["saveUserID"];
if (String.IsNullOrEmpty(isSet))
{
NameValueCollection headers = base.Request.Headers;
for (int i = 0; i < headers.Count; i++)
{
if (headers.GetKey(i).Equals("UserId"))
{
HttpContext.Current.Session["saveUserID"] = headers.Get(i);
}
}
}
else
{
TextBox1.Text = HttpContext.Current.Session["saveUserID"].ToString();
}
}
这似乎工作,但它不是太优雅。有没有办法用标头数据重定向?没有(我在做什么)在会话变量中保存标头信息,然后在 2 个单独的部分中进行重定向。