Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向和javascript ajax调用_Javascript_Ajax - Fatal编程技术网

重定向和javascript ajax调用

重定向和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

我正在使用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
        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天前告诉你的那样