有没有办法重定向到新页面并在该页面上用jquery写一些内容?

时间:2013-05-02 20:29:05

标签: javascript jquery

我正在创建一个在数据库中搜索航班信息的功能。如果响应为真,我希望用户在“ticket.php”上重定向。我想使用jquery更新页面“ticket.php”的内容。但是jquery不起作用。我在这里做错了吗?这是javascript的一部分。这是一个外部JavaScript。它包含在“search.php”和“ticket.php”页面中。单击“search.php”页面中的搜索按钮可调用此函数。

if(data){
    setTimeout("location.href = 'ticket.php';",3000); // Redirect to new page

//Change content of "ticket.php" using jquery.
    $("#source").text(x);
    $("#destination").text(y);
    $("#date").text(z);
    $("#no_person").text(person);
    $("#trip_type").text(type);
}

else
    $("#alert").text("Oops! No Flight matches your criteria ! ");

2 个答案:

答案 0 :(得分:4)

当您将location.href设置为ticket.php时,用户将被重定向到该新页面(ticket.php)。然后浏览器将加载该新页面,并且将不再使用您当前页面上的javascript。

您必须使用例如,在ticket.php上显示数据。 url参数取自他们搜索的内容:

window.location.href = 'ticket.php?from=norway&to=sweden';

答案 1 :(得分:0)

这对您不起作用的原因是因为当您重定向到ticket.php时,页面会重新加载并且页面上的所有javascript都会刷新,从而失去之前的任何值。要保留您必须将数据发送到ticket.php

的数据

有几种方法可以实现这一点,以首选方法排序 假设您要求这样的页面:ticket.php?from=norway&to=sweden

页面ticket.php 上的

php
<?php
  echo $_GET['from'];
  echo $_GET['to'];
 ?>
页面ticket.php

上的

javascript

从这篇文章中获取参数的解决方案:https://stackoverflow.com/a/1404100/2033671

alert(getURLParameter('from'));
alert(getURLParameter('to')); 

jQuery来自同一域的不同页面

    $.get('ticket.php',function(response){
    $html = $(response);
    $html.find("#destination").text(y);
    $html.find("#source").text(x);
    $("html").html($html);
});