Проблема загрузки внешней страницы в div с помощью jquery - PullRequest
0 голосов
/ 03 апреля 2011

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

Я создал Datepickers "from" и "to", которые будут вводить датуспектр.Кнопка будет отправлять этот диапазон дат.

<Form action="/" id="searchDate">
From: <input type="text" name="from" id="datepickerFrom"> 
To: <input type="text" name="to" id="datepickerTo">
<input type="submit" value="Submit"/>
</Form>

и вот скрипт ...

<script>
// attach a submit handler to the form
$("#searchDate").submit(function(event) {
  // stop form from submitting normally
  event.preventDefault(); 
  var eID = $("#userID").val();
  // get some values from elements on the page:
  var $form = $( this ),
  termFrom = $form.find( 'input[name="from"]' ).val(),
  termTo = $form.find( 'input[name="to"]' ).val(),
  url = $form.attr( 'action' );
  // Send the data using post and put the results in a div
  $.post("/home/", function(data){
  $( "#result" ).load("/search/"); //.html(termFrom+" "+termTo);
  }

);
});
</script>

Это работало, если я использую $ ("#result") .html(termFrom + "" + termTo);заявление, но .html принимает только строку html.Я хочу разместить дату на внешней странице, чтобы выполнить запрос, и загрузить эту внешнюю страницу в div страницы поиска, поэтому я использую .load ("/ home / search /").Я просто хочу проверить загрузку внешней страницы без передачи значения сообщения, но это не работает.Почему .load () не работает в этом случае?

Заранее благодарен ...

Ответы [ 3 ]

2 голосов
/ 03 апреля 2011

если я правильно понимаю 'external', вы столкнетесь с проблемой междоменной политики ajax - узнайте больше об этом на http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide

1 голос
/ 03 апреля 2011

Если вы хотите проверить это без отправки каких-либо данных, просто наберите:

$.post("/home/search", function(data){

  $( "#result" ).html(data);

});

когда вы хотите отправить значения, которые вам нужно сделать:

$.post("/home/search",{"termFrom": termFrom, "termTo": termTo}, function(data){
  $( "#result" ).html(data);
});
0 голосов
/ 03 апреля 2011

Вы пропустили кавычку в следующем коде?

 $.post("/home/, function(data){
  $( "#result" ).load("/home/search/"); //.html(termFrom+" "+termTo);
  }

Будет ли это причиной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...