jquery在div中获取加载页面的查询字符串

时间:2010-07-05 16:02:54

标签: jquery ajax html query-string

我有一个页面,表格页面加载了div。我想通过查询字符串将一些数据发送到加载的页面并读取其中的内容,是否可能,如果是,如何?

我的例子:

$("#scheda_sch").load("./schemi/sch_"+schemi[indice]+".html?azione="+azione); 

我需要从页面读取sch _... html读取querystring azione的值

提前感谢ciao h。

4 个答案:

答案 0 :(得分:2)

你做不到。带有查询字符串的URL将发送到服务器,响应将放在元素中。加载的任何代码都将知道当前页面的URL,而不是添加到其中的代码的URL。

您可以做的是使用内容加载时发生的回调。当您在与启动加载的方法相同的范围内声明它时,它可以访问变量:

$("#scheda_sch").load(
  "./schemi/sch_"+schemi[indice]+".html?azione="+azione,
  function(){
    alert(azione);
  }
);

答案 1 :(得分:0)

在您需要执行的加载页面中:

var arr = window.location.match(/[^?]+\?azione=(.+)/); 
var azione = arr[1];
alert(azione);

Demo

答案 2 :(得分:0)

我找到一个适合我的解决方案我只是将我加载的页面从html转换为php并以这种方式发布了azione:

$("#scheda_sch").load("./schemi/sch_"+schemi[indice]+".php", {azione: azione});

ciao h。

答案 3 :(得分:0)

我不确定这是否有帮助:

如果加载div,请添加回调以加载。加载HTML时,设置隐藏字段的值(div或输入或其他)并在JS中使用它。

示例:

$('#mydiv').load(someurlwithparams, functions() {
    $('#myhiddenfield').val(someurlwithparams);
    executeSomethingThatUsesTheParams();
});

和HTML:

<input type="hidden" id="myhiddenfield">
<p>Rest of loaded HTML</p>

AND JS:

function executeSomethingThatUsesTheParams() {
    var queryString = $('#myhiddenfield').val();
    alert('Query for loaded div: ' + queryString);
}

您也可以直接将查询字符串传递给executeSomethingThatUsesTheParams。不确定是否有用,只是一个想法...