2013-01-18 63 views
0

我有一個刪除ORDER記錄的頁面。這個頁面是從AJAX調用的,它完美地工作。但是,一旦我添加了一些代碼,我同時更新庫存表。看起來AJAX功能已經失效,我無法弄清楚他們有什麼問題。請建議我。提前致謝。爲什麼添加這些代碼後,AJAX無法工作?

我的AJAX功能(order_edit.asp)

<script language="JavaScript"> 
     var HttPRequest = false; 
     function doCallAjax(ID) { // delete order 
      HttPRequest = false; 
      if (window.XMLHttpRequest) { // Mozilla, Safari,... 
      HttPRequest = new XMLHttpRequest(); 
      if (HttPRequest.overrideMimeType) { 
       HttPRequest.overrideMimeType('text/html'); 
      } 
      } else if (window.ActiveXObject) { // IE 
      try { 
       HttPRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch (e) { 
       try { 
        HttPRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
       } catch (e) {} 
      } 
      } 

      if (!HttPRequest) { 
      alert('Cannot create XMLHTTP instance'); 
      return false; 
      } 

      var url = '../engine/delorder_edit.asp'; 
      var pmeters = "tID="+ID; 

      var bill_id = document.getElementById('bill_id').value; // additional for delorder_edit.asp 

      HttPRequest.open('POST',url,true); 

      HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
//   HttPRequest.setRequestHeader("Content-length", pmeters.length); 
      HttPRequest.send(pmeters); 


      HttPRequest.onreadystatechange = function() 
      { 

       if(HttPRequest.readyState == 4) // Return Request 
        { 
        if(HttPRequest.responseText == 'Y') 
         {      
         document.getElementById("tr"+ID).style.display = 'none'; 
         } 
        }    
      } 

     } 
</script> 

我delorder_edit.asp頁

<% 
    Option Explicit 

    Dim strID 

    strID = Request.Form("tID") 

    Dim Conn,strSQL,objExec 
    Set Conn = Server.Createobject("ADODB.Connection") 
    Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("../database/TKP.mdb"),"" , "" 

'********** ***************************** 
'Open recorset in order to add od_qty back to tbl_inventory before this record was removed 
'****** Once I added these code, my ajax became malfunction ****** 

    Set rsOrder = conn.Execute("SELECT * FROM tbl_order WHERE od_id = "&strID&"" )   
    pd_id = rsOrder.fields.item("pd_id") 
    od_qty = rsOrder.fields.item("od_qty") 
    od_qty = DzToPcs(od_qty) 


    strSQL1 = "UPDATE tbl_inventory SET inv_qty_act = inv_qty_act + " & od_qty & ", inv_date = date() WHERE pd_id = '" & pd_id & "'" 
Set objExec = Conn.Execute(sql1) 


'******************************************* 

    strSQL = "" 
    strSQL = strSQL&"DELETE * FROM tbl_order " 
    strSQL = strSQL&"WHERE od_id = "&strID&" " 


    Set objExec = Conn.Execute(strSQL) 
    If Err.Number = 0 Then 
     Response.write("Y") 
    Else 
     Response.write("N") 
    End IF 





    Conn.Close() 
    Set Conn = Nothing 
%> 
+0

直接在瀏覽器中打開'delorder_edit.asp'頁面,傳遞'tid'作爲查詢字符串來檢查,你將不得不修改'request.form'到asp部分中的'request'測試。檢查你是否看到一些錯誤 – SearchAndResQ

回答

0

所有我會建議使用jQuery.ajax方法調用服務器的方法,所以首先你代碼會更少,也更方便理解。第二件事,調試:

"HttPRequest.onreadystatechange = function()", 

並檢查返回什麼值。除非我們沒有得到確切的錯誤,否則我們無法向您建議解決方案。

相關問題