2012-07-17 50 views
0

我目前有一個使用javascript的網頁,但是;當我使用我的Ajax移動到數據庫時,我的responseText總是空的。javascript/ajax查詢

JS,使標誌和發送查詢

objAjaxUpdates.main_flag = "getNames"; 
    objAjaxUpdates.SendQuery(query); 

未來在流動 (URL是一個aspx文件)

this.SendQuery = function(data) { 
     this.Initialize(); 
     if (this.req != null) { 
      //alert(data); 
      //alert(this.url + " " + this.main_flag); 
      this.req.open("POST", this.url); 
      this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
      this.req.onreadystatechange = this.processData; 
      this.req.send(data); 
     } 
    } 

下一頁

this.processData = function() { 
     if (objAjaxUpdates.req.readyState == 4) { 
      if (objAjaxUpdates.req.status == 200) { 
       if (objAjaxUpdates.req.responseText == "") { 


        alert('No Return'); 
       } 
       else { 
        ... 

任何幫助不勝感激。

+1

您是否嘗試過使用Chrome或FireFox的javascript調試器來瀏覽代碼?你需要確保它發送你的想法。 – 2012-07-17 13:06:05

+0

我只能使用IE或Safari。在VS2008中逐步完成時,一切看起來都很順利,只是當它檢查readystate和狀態時,我發現響應標題是「」,因此轉移到alert('No Return')。還有其他的功能,目前沒有這個問題,我只是難以理解爲什麼這個功能。 – MasterP 2012-07-17 13:08:42

+0

您是否看到「不回覆」提醒? (如果是這樣,那意味着你已經成功到達了服務器,並且它正在發回一個空的響應,並帶有'200 OK'消息。在這種情況下,錯誤在你的服務器上。) – apsillers 2012-07-17 13:17:17

回答

0

我不知道你正在使用的庫。但該程序對我來說看起來是正確的。 (有像jQuery這樣的庫,可避免您在低級AJAX API上工作,檢查響應代碼等。)

我建議您使用Firebug for Mozilla或Chrome開發人員工具來「調試「你的AJAX機器。

還有就是好老的技術:

  • 首先測試請求手動服務器。
  • 然後,做一個愚蠢的AJAX請求。
  • 最後,測試這兩個組件。
+0

我只允許使用IE或Safari,我是新來的,所以如何才能做前兩個測試? – MasterP 2012-07-17 13:13:36

+0

如果您的網頁在互聯網上公開,那麼檢查它是非常重要的在Chrome和Firefox上,因爲它們比IE和Safari更有用 經驗法則是,如果它適用於Firefox,或Chrome或Safari,則它也可以在其他兩種平臺上運行 Nothing即使網站僅用於在IE瀏覽器上查看,也可以阻止您使用Firefox工具。 嘗試將代碼分成小塊,然後在每個瀏覽器上測試這些代碼。 – tiktak 2012-07-17 13:40:49