使用jquery将外部页面加载到div中的问题

时间:2011-04-03 04:00:53

标签: jquery search post html

我想创建搜索日志文件历史记录的搜索页面。由于显示区域的限制,我希望用户在显示搜索结果之前限制日志文件的日期范围。

我创建了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 /”)。我只是想测试加载外部页面而不传递post值,但它不起作用。为什么.load()在这种情况下不起作用?

提前感谢...

3 个答案:

答案 0 :(得分:2)

如果我正确理解'外部'你会得到跨域ajax政策问题 - 请在http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide

上详细了解

答案 1 :(得分:1)

如果您只想测试它而不发送任何帖子数据,那么只需使用:

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

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

});

当您想要实际发送您需要执行的值时:

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

答案 2 :(得分:0)

您是否错过了以下代码中的引号?

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

这会导致问题吗?