jQuery:从Javascript中的ajax请求获取请求(GET / POST)参数

时间:2010-02-12 19:16:27

标签: javascript jquery jquery-ui

我正在使用jQueryUI dialog在我的网站上打开模式表单。表单有一个隐藏的输入,用于传递在查询字符串中传递的联盟代码,如

http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris

http://mydomain.com/page2_with_form?affiliate=Chuck%20Berry

我正在使用jQuery plugin来轻松获取GET值。

两个页面(page1_with_form和page2_with_form)都在对话框中加载了相同的模式形式my_affiliate_form.html。我在my_affiliate_form.html页面上做这样的事情没有问题

var affiliate_code = $.query.get('affiliate');
if (!affiliate_code) affiliate_code = "None";
$('[name=hidden_affiliate_field]').val(affiliate_code);

这只是花花公子,我的会员最终成为Chuck Norris和Chuck Berry。

问题是,现在我不仅要包含查询字符串中的联盟代码,还要使用代表他们加载表单的页面的密钥,即。 page1_with_form和page2_with_form)。对于page1,键可能是“Public”,而page2可能是“Private”,或者类似的东西。

现在我想要它在我的隐藏字段在点击此页面时具有“公共查克诺里斯”的值 http://mydomain.com/page1_with_form?affiliate=Chuck%20Norris 点击此页http://mydomain.com/page2_with_form?affiliate=Chuck%20Norris

时出现“私人查克诺里斯”

我正在加载对话框内容:

$('#modal-form-holder').dialog({
          bgiframe:true,
          width:width,
          title: title,
          modal:true,
          resizable: false,
          closeOnEscape: true,
          draggable: false,
          autoOpen:false
 }).load("my_affiliate_form.html?affiliate_key=" + key, null, onComplete);

密钥的值正在填写正确,但如果my_affiliate_form.html尝试通过$ .query.get('affiliate_key')抓取“affiliate_key”,则为空。这是因为查询window.location中的查询插件没有改变。

如何获取ajax请求中的my_affiliate_form.html中的请求参数?

对于如此冗长而感到抱歉,我只想尽可能清楚地表达我的问题。

1 个答案:

答案 0 :(得分:0)

在onComplete处理程序中设置值。类似的东西:

$('#modal-form-holder').dialog({
          bgiframe:true,
          width:width,
          title: title,
          modal:true,
          resizable: false,
          closeOnEscape: true,
          draggable: false,
          autoOpen:false
 }).load("my_affiliate_form.html", null, function(responseText, textStatus, XMLHttpRequest)
{
  onComplete(responseText, textStatus, XMLHttpRequest, key);
});

然后,在onComplete(应定义为采用所有四个参数)中,使用密钥填充affiliate_key字段。