0

データベースからフライト情報を検索する機能を作っています。応答が true の場合、ユーザーを「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 ! ");
4

2 に答える 2

4

location.href を ticket.php に設定すると、ユーザーはその新しいページ (ticket.php) にリダイレクトされます。次に、ブラウザはその新しいページをロードし、現在のページにある JavaScript を使用しなくなります。

たとえば、次のように検索したものから取得した url パラメータを使用して、データを ticket.php に表示する必要があります。

window.location.href = 'ticket.php?from=norway&to=sweden';
于 2013-05-02T20:31:52.730 に答える
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);
});
于 2013-05-02T20:51:57.290 に答える