JQuery получить строку запроса загруженной страницы в DIV - PullRequest
0 голосов
/ 05 июля 2010

У меня есть страница со страницей формы, загруженной в div.Я хотел бы отправить некоторые данные на загруженную страницу с помощью строки запроса и прочитать содержимое в ней, возможно ли и если да, то как?

, что мой пример:

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

Мне нужночитать со страницы sch _... html читать значение строки запроса azione

заранее спасибо ciao h.

Ответы [ 4 ]

2 голосов
/ 05 июля 2010

Вы не можете этого сделать.URL со строкой запроса отправляется на сервер, а ответ помещается в элемент.Любой загруженный код будет знать URL текущей страницы, а не URL кода, который был добавлен к ней.

Что вы можете сделать, это использовать обратный вызов, который происходит после загрузки контента.Поскольку вы объявляете его в той же области действия, что и метод, запускающий загрузку, он имеет доступ к переменной:

$("#scheda_sch").load(
  "./schemi/sch_"+schemi[indice]+".html?azione="+azione,
  function(){
    alert(azione);
  }
);
0 голосов
/ 08 мая 2015

Я не уверен, поможет ли это:

Если вы загружаете div, добавьте обратный вызов для загрузки.Когда HTML был загружен, установите значение скрытого поля (div или input или что-то еще) и используйте его в JS.

Пример:

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

И HTML:

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

И JS:

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

Вы также можете напрямую передать строку запроса в executeSomethingThatUsesTheParams.Не уверен, что полезно, просто мысль ...

0 голосов
/ 07 июля 2010

Я нашел подходящее мне решение. Я просто преобразовал свою загруженную страницу из html в php и опубликовал azione следующим образом:

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

чао ч.

0 голосов
/ 05 июля 2010

На загруженной странице нужно сделать:

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

Демо

...