如何在jquery中发送和获取查询参数

时间:2014-03-06 19:33:25

标签: javascript jquery ajax

嗨,我对jquery和web编程很新。

我的问题是如何使用jQuery中的post请求发送隐藏的查询参数,以及 Retreive 来自post请求的数据。我知道在jQuery中有很多关于.post的教程,但我似乎无法找到任何关于.get请求(如果这就是我需要的那些)

例如,在一个页面的一个.js文件中我有

$.ajax({
    type: 'POST',

    url: 'url',
    data: {
       'startDate': this.options.startDate,
       'endDate': this.options.endDate,
       'selectedReport': this.options.endDate,
    },
    success: function (msg) {
       alert('wow' + msg);
    }
});

但在另一个页面的另一个js文件中,我想要一个检索这些参数的get请求。

有人可以解释我如何在js文件中写这个get请求来检索它们吗?

感谢您的帮助

4 个答案:

答案 0 :(得分:2)

在我看来,POST数据是服务器端处理的数据。 Javascript在客户端。因此,您无法使用JavaScript阅读帖子数据。

答案 1 :(得分:1)

使用当前功能,您将POST数据发送到其他人。 例如,在PHP中,发送的数据将在$ _POST数组中。

要设置GET请求,您只需将类型从POST设置为GET

type: 'GET'

然后在PHP端发送的数据将在$ _GET数组中。

答案 2 :(得分:1)

.ajax()POST数据作为查询字符串参数发送。在另一个页面中,您可以编写javascript来获取这些查询字符串值。下面是读取查询字符串值的示例:

(function ($) {
            $.QueryString = (function (a) {
                if (a == "") return {};
                var b = {};
                for (var i = 0; i < a.length; ++i) {
                    var p = a[i].split('=');
                    if (p.length != 2) continue;
                    b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
                }
                return b;
            })(window.location.search.substr(1).split('&'))
        })(jQuery);

您可以使用以下功能:

var startDate=$.QueryString["startDate"];

https://api.jquery.com/jQuery.ajax/

答案 3 :(得分:0)

我意识到JavaScript post request like a form submit回答了我的问题,因为它更像是客户端,尽管ajax是服务器端。谢谢你们所有的帮助!