JQuery AJAX Post - 传递变量和导航URL

时间:2011-04-12 23:01:45

标签: jquery ajax variables post

我正在开发一个小谜题。用户点击图片的块然后猜猜它是什么图片。我还计算他们在提交之前打开了多少块。我在VBScript / ASP

中使用以下JQuery AJAx代码
dataString  = 'totalClick=' + totalClick ;

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

我的问题是,我想在'puzzle3.asp'页面上获得'totalClick'变量的值。在我导航到'puzzle3.asp'后,我想在那里使用它来决定其他一些东西。但是一旦我通过AJAX导航到puzzle3.asp,我就失去了POST变量'totalClick'的价值。

有什么方法可以使用POST,导航到下一页并在那里使用变量值。就像设置会话变量一样,但我知道我不能使用JS来分配会话变量。

任何帮助都会受到赞赏。

3 个答案:

答案 0 :(得分:0)

来自jquery doc的

  

dataObject,String   要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到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";
    }
});

答案 1 :(得分:0)

尝试通过POST保存变量,加载新页面并使用AJAX检索变量,如:

第A页:

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

Page 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));

答案 2 :(得分: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
    }
});