重定向和javascript ajax调用
我正在使用javascript调用服务器。javascript代码如下:重定向和javascript ajax调用,javascript,ajax,Javascript,Ajax,我正在使用javascript调用服务器。javascript代码如下: function cs() { alert(""); var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5
function cs() {
alert("");
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "lp.aspx?pb=true", true);
xmlhttp.send();
}
我的服务器代码如下
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["pb"] != null)
{
Response.Redirect("main.aspx");
}
}
问题是我的响应。重定向与我的ajax调用不兼容。这是为什么?您不能在ajax调用时重定向,因为它期望从调用的页面返回一些值。如果页面本身重定向,它就无法告诉调用函数重定向,因为它只需要在
success
callback中返回一些值
为了解决这个问题,如果条件满足,您可以返回一个
参数
让我们说{redirect:true}
。在success
回调中,如果redirect
为true,则使用JS-window.location.href=“required”
进行重定向,我认为重定向不起作用,因为在AJAX调用之前,javascript页面的响应已经关闭
不使用Response.Redirect,您可以发回包含url的字符串,并在脚本中使用location.href进行重定向 Simple您不能在您的ajax调用中使用response。使用
window.location
您希望如何处理
Response.Redirect(“main.aspx”)代码>代码?因为您正在请求lp.aspx
使用main.aspx
而不是lp.aspx
。单击某个元素时,用户将重定向到main.aspx。元素click被连接到cs()javascript函数(看看q)可惜你没有给Arindram接受的答案,正如他2天前告诉你的那样