2014-10-06 160 views
1

我有以下的javascript代碼JavaScript的AJAX不能正常工作

 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", true); 
    xmlhttp.send(); 

而且我的服務器代碼如下

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request.QueryString["pb"] != null) 
    { 
     Response.Redirect("main.aspx"); 
    } 
} 

問題是,當我concatinate查詢字符串我的javascript Ajax請求喜歡以下

xmlhttp.open("GET", "lp.aspx?pb=true", true); 

它停止向服務器發送請求。我的意思是當我調試頁面的page_load事件沒有觸發時,

這是什麼原因?

+0

沒有看起來代碼錯誤。瀏覽器控制檯中是否有錯誤? – SSA 2014-10-06 10:21:03

+0

你使用什麼瀏覽器?我試着用chrome,在if(Request.QueryString [「pb」]!= null)中設置一個斷點,代碼停在那裏。 – Bonomi 2014-10-06 10:22:13

回答

0

這是因爲response.redirect不起作用。

刪除它,而不是在javascript中使用window.location