2016-04-27 22 views
0

のURLを取得します。これを呼び出す例ページのURLはproducts.phpPHP - アヤックス/ jQueryを使ってページをロード - 私はロードするために、次のコードを持っているとAjaxとjQueryを使用してページを要求し、私のサイト上で自分のウェブページ(100+異なるページ)上でマスターページ

jQuery(document).ready(function() { 
    new Ajax.Request('dynamic-page.php', { 
     method: 'POST', 
     requestHeaders: { Accept: 'application/json' }, 
     onSuccess:function(transport) { 
      var response = transport.responseText.evalJSON(true); 
      // do something with response 
     }.bind(this) 
    }); 
}); 

今私のdynamic-page.phpで、私はそれを呼ばれるページが何であるかを知っている必要があり一つは、いくつかの条件文を、持っているfaqs.phpです。 (すなわちhttp:www.website.com/dynamic-page.php

私の質問は、私の動的ページ内にある

$path = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

そして、当然のことながら、これは私に動的なページのURLを提供します:ダイナミック-page.phpで

は、私はパスを取得することができますPHPを使用して呼び出された親の親/ページのURL /パスを取得することは可能ですか?ダイナミックページ内で、ユーザーのページがproducts.phpまたはfaqs.php

答えて

0

パラメータとして現在のページのURLをAjaxコールに送信したい場合があります。代わりに、次のような方法を試してみてください。

jQuery(document).ready(function() { 
new Ajax.Request('dynamic-page.php', { 
    method: 'POST', 
    requestHeaders: { Accept: 'application/json' }, 
    parameters: {url: window.location.href}, //the URL of the Current Page incl. query strings 
    onSuccess:function(transport) { 
     var response = transport.responseText.evalJSON(true); 
     // do something with response 
    }.bind(this) 
}); 

});あなたが他のデータ(たとえば、フォーム・データ)を掲載している場合

<?php 
    $originationURL = (isset($_POST['url']) && !empty($_POST['url'])) ? $_POST['url'] : "a-default-page.php"; 
    //Do whatever you wish with the *$originationURL* variable... 
?> 

: - エンドポイントのPHPファイル(「ダイナミック-page.php」この場合)で

、あなたはこのような何かを行う可能性がありますあなたのAJAXコールで。パラメータのどれもがurlという名前でないことを確認してください。

私は、コードをテストしていないが、私は、これはトリックを行うべきだと思う...

...これが役に立てば幸い

0

のいずれかであるかどうかを知る必要があります.AJAX経由でページをリクエストしている場合は、別のリクエストとしてカウントされますサーバー側では、追加情報なしでそれを知ることができます。しかし、あなたがPOSTリクエストを介してページをリクエストしているので、私が考えることができる最も明白なことは、AJAXリクエストを行うときにPOST変数にページ名を入れることです。リクエストしているページは、その情報を使用して、要求されているコンテキストを知ることができます。

関連する問題