2010-12-19 21 views
4

Erm ...タイトルが実際に言うこと。私はpage1のAJAX呼び出しでPHPスクリプトを実行しています。 PHPの内部で$_GETを使用してAJAXによって呼び出されたpage1の現在のURL/URIにアクセスできますか、または残りのデータと共にAJAXページに渡す必要がありますか?AJAX経由で起動されたPHPスクリプトから現在のページURLを取得できますか?

おかげで、

ジェームズ

+1

[関連する質問](http://stackoverflow.com/questions/165975/determining-referer-in-php)です。 – Lee

答えて

11

リファラーただ、より具体的な取得するには、PHPスクリプト

内からトリック

echo $_SERVER['HTTP_REFERER'] 

を実行する必要があります。 のPage1はページ2を呼び出します。上記の変数を出力すると、page1のURLが見つかります。あなたがPAGE2のURLが必要な場合は、使用します。

$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 

をこれらがアクセスしようとする前に存在するかどうかを確認する必要があります。私は時々これをする:

$server = array_merge(array('HTTP_HOST'=>null, 'REQUEST_URI'=>null, 'HTTP_REFERER'=>null), $_SERVER); 

私は$ _SERVERの代わりに "$ server"変数にアクセスします。あるいは、@ $ _ SERVER []を使うこともできます。これは一般にエラーを抑制します。

+0

恐ろしい!助けてくれてありがとうJason :-) – Bojangles

+0

私が理解しているように、いくつかのブラウザはAJAXリクエストと一緒にReferrerを送信しません(HTTP仕様に関しては、オプションのヘッダーなので、そこにあるかもしれません)。どんな場合でも)。いずれにしても、サポートされているすべてのブラウザのすべてのサポートされているバージョンでこれを確認してから、それに依存するコードを解決します。 – Lee

+0

ありがとうLee - これを念頭に置いて、AJAXリクエストと共に必要なURLパラメータを送信します。 – Bojangles

関連する問題