2011-04-12 54 views
4

我開發一個小的難題。用戶點擊一張圖片的塊並猜測它是什麼圖片。我還會統計他們在提交前打開了多少個塊。我用下面的JQuery Ajax代碼在VBScript/ASPJQuery的AJAX郵政 - 傳變和導航網址

dataString = 'totalClick=' + totalClick ; 

$.ajax({ 
    type: "POST", 
    url: "puzzle3.asp", 
    data: dataString, 
    success: function() { 
     alert('totalClick' + totalClick + "data: " + dataString); 
     window.location = "puzzle3.asp"; 
    } 
}); 

我的問題是,我想'totalClick「puzzle3.asp」頁面上的變量值。在我導航到'puzzle3.asp'後,我想用它來決定其他的東西。但是,只要我通過AJAX導航到puzzle3.asp,我就失去了POST變量'totalClick'的值。

有一些方法我可以使用POST,導航到下一個頁面,使用可變vlaue那裏。就像設置會話變量,但我明白我不能使用JS分配會話變量。

任何幫助將非常感激。

+1

只需使用ASP設置會話變量,然後導航到'puzzle3.asp',和拉會話變量不與ASP。 – 2013-05-22 02:09:00

+3

如果你正在做window.location的,擺在首位,爲什麼使用了Ajax? – loddn 2013-06-22 18:06:41

+0

@ loddn的評論是考慮到代碼的最合適的操作。也許OP需要更多的啓發。對我來說,所有的答案似乎都鼓勵以複雜的方式做簡單的事情。親愛的,記住。 SO不是提供代碼;這是關於指導。 – afaolek 2017-08-29 23:33:25

回答

0

從jquery的DOC:

dataObject時,字符串 數據要被髮送到服務器。它被轉換成查詢字符串,如果還不是字符串的話。它附加到GET請求的url。請參閱processData選項以防止此自動處理。對象必須是鍵/值對。如果value是一個數組,則jQuery會根據傳統設置的值(如下所述)使用相同的鍵序列化多個值。

具有手動嘗試將您的變量進入查詢字符串?

$.ajax({ 
    type: "POST", 
    url: "puzzle3.asp?totalClick=" + totalClick, 
    data: dataString, 
    success: function() { 
     alert('totalClick' + totalClick + "data: " + dataString); 
     window.location = "puzzle3.asp"; 
    } 
}); 
+0

感謝您的回答。但是由於業務需要,我恐怕無法使用POST,因爲我想隱藏我的'totalClick'變量。這對我來說都是一個問題。所以我不能使用上面的Querystring。 – user704988 2011-04-12 23:55:45

+0

爲什麼使用ajax如果你正在做一個window.location你的成功? – loddn 2013-06-22 18:05:05

0

嘗試通過POST保存您的變量,加載新的頁面,並使用AJAX,像檢索的變量:

頁答:

$.ajax({ 
    type: "POST", 
    url: "puzzle3.asp", 
    data: dataString, 
    success: function() { 
     alert('totalClick' + totalClick + "data: " + dataString); 
     window.location = "puzzle3.asp"; 
    } 
}); 

頁B(puzzle3.asp):

/** 
* No need to wait for load() event, just generate a 
* global variable with the number of clicks 
*/ 
(function($){ 
    $.ajax({ 
     type: "GET", 
     url: "read_clicks.asp", 
     dataType: "json", 
     success: function (data) { 
      // Use any global variable, as needed 
      $.totalClicks = data.clicks || 0; 
     } 
    }); 
}(jQuery)); 
0

您可以使用JSON.stringify

var ssnData="123"; 
$.ajax({ 
    type: "POST", 
    contentType: "application/json;charset=utf-8", 
    data: JSON.stringify({ 'SSNdata': ssnData }), 
    url: 'home/data', 
    dataType: 'json', 
    success: function (cicos) { 
     //cicos is your response data 
    } 
});