从另一个ajax调用中循环的ajax调用中获取父URL(当前窗口URL)的路径

时间:2017-09-13 21:36:57

标签: javascript php jquery html5

我有一个php页面(client.php)包含下面的脚本。该脚本执行ajax调用。成功后,它会执行另一个ajax调用。我遇到了第二个ajax调用的问题,它将request_uri作为“sql / adminloademail.php”而不是父路径返回“/client.php”。如何告诉php回显出现在当前窗口URL中的父路径“/client.php”?

SCRIPT

$.ajax({
  method:'POST',
  url:'sql/adminaddclient.php',
  data:formData,
  contentType: false,
  processData: false,
  success: function(data){
    $.ajax({
      type:'POST',
      url:'sql/adminloademail.php',
      success: function(data){
        $('#account_list').html(data);
      }
    });
  }
});

PHP(adminloademail.php)

$page = parse_url(filter_input(INPUT_SERVER, 'REQUEST_URI' , FILTER_SANITIZE_STRING), PHP_URL_PATH);
echo $page;

1 个答案:

答案 0 :(得分:0)

您可以将父网址设置为变量,然后使用数据参数发送它。

var parentUrl = window.location.href;

$.ajax({
  type:'POST',
  url:'sql/adminaddclient.php',
  data:formData,
  contentType: false,
  processData: false,
  success: function(data){
    $.ajax({
      type:'POST',
      data:{"parentUrl":parentUrl},
      url:'sql/adminloademail.php',
      success: function(data){
        $('#account_list').html(data);
      }
    });
  }
});

您也可以尝试从标题中获取它。

$headers = apache_request_headers();
if (isset($headers['Referer'])) {
    echo "Referer: " . $headers['Referer'];
}

由于PHP 5.4.0 apache_request_headers也可以在FastCGI下使用。

由于PHP 5.5.7 apache_request_headers也可在CLI服务器中使用。

http://php.net/manual/en/function.apache-request-headers.php