2015-08-19 55 views
0

我是新來的,所以請和我一起裸照。使用Ajax將信息發送到經典ASP

我在我的html表上有一個重置按鈕。當它被點擊時,它獲得與其行相關的信息,特別是'記錄ID'和'活動'。我試圖採取記錄身份證號碼,並將其發送到我的ASP頁面resetinbound.asp

這是我第一次使用AJAX,所以我不知道如果我在做什麼是正確的,但這裏是對於在點擊代碼:

$(function(){ 
$('button').on('click', function(){ 
    var tr = $(this).closest('tr'); 
    var RecID = tr.find('.RecID').text(); 
    var active = tr.find('.active').text(); 
    alert('id: '+RecID+', Active: ' + active); 

$.ajax({ 
      type: "POST", 
      url: "resetInbound.asp", 
      data: RecID, 
      success: function() { 
       alert("I am back after sending data sucessfully to server.");} 
      }); 
     // Ajax call ends 



}); 
}); 

的ASP文件代碼:

Dim RecID 
RecID = Request.QueryString("RecID") 

我也嘗試過的Request.Form和Request.BinaryRead但他們沒有工作。看起來代碼甚至沒有達到ASP頁面。我究竟做錯了什麼?

+1

對於初學者來說,你的AJAX調用'POST'ing數據,所以你應該通過'的Request.Form接受它在你的ASP頁面( )'。 – Bond

+0

@Bond謝謝你,我已經將它改爲Request.Form(),但我仍然沒有將信息傳遞給我的ASP頁面。 –

+0

如果傳統上調用resetInbound.asp,即不使用AJAX,它是否會工作?創建一個帶有表單的測試頁面,將其操作設置爲「resetInbound.asp」,添加RecID字段(字段類型無關緊要),並添加一個提交按鈕。你看到你期望看到什麼嗎? – Martha

回答

1

您的AJAX參數的data成員需要是指定每個參數的名稱和值的對象。所以你需要改變這一點:

$.ajax({ 
    type: "POST", 
    url: "resetInbound.asp", 
    data: RecID, 
    ... 
}); 

要:

$.ajax({ 
    type: "POST", 
    url: "resetInbound.asp", 
    data: { "RecID": RecID }, 
    ... 
}); 

然後你應該在你的ASP頁面獲得命名參數:

strID = Request.Form("RecID") 

如果您想讓事情更容易調試,但是,請使用GET而不是POST並通過querystring/URL傳遞您的值:

$.ajax({ 
    type: "GET", 
    url: "resetInbound.asp?recID=" + RecID, 
    ... 
}); 

然後通過Request.QueryString()收到帕拉姆:

strID = Request.QueryString("recID") 
+0

謝謝你的這個驚人的澄清。經過調試,似乎我的問題是與我的HTML頁面中的表單,因爲信息仍然不會進入我的ASP頁面。我的桌面上的重置按鈕變爲循環(每行一個重置按鈕)X行。那麼我還需要一個表單還是AJAX取代了表單的需求呢? –

+0

你在'alert()'函數中看到了正確的值嗎?我只是假設這是工作,但接下來的AJAX電話不是。 – Bond

+0

是警報功能提供了RecID和Active狀態。之後的Ajax調用沒有獲取信息 –