使用Jquery获取当前URL

14

我在 JavaScript 和 jQuery 非常新手。

$.getJSON("idcheck.php?callback=?", { url:  /*i want full url to be print*/ }, function(json){
  //alert(json.message);
});

如何在上述url:后获取当前页面的完整URL?

谢谢


我认为这是 https://dev59.com/6nRC5IYBdhLWcg3wG9To 的重复。 - Dominic Rodger
我已经看过了,但不知道如何在我的情境中实现,所以任何帮助都将不胜感激。 - UFOman
4个回答

21

这将给你当前的URL:

window.location.pathname

编辑:

$.getJSON("idcheck.php?callback=?", { url:  window.location.pathname }, function(json){
  //alert(json.message);
});

编辑2:使用PHP(通过网页找到)

<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>


$.getJSON("idcheck.php?callback=?", { url:  "<?php echo curPageURL(); ?>" }, function(json){
  //alert(json.message);
});

我该如何实现它?目前当我放置这个代码时,它只会显示为window.location.pathname; - UFOman
它显示的是 window.location.pathname,而不是当前的 URL,我需要像 url: localhost/index.html 这样的东西。 - UFOman
是的,这就是重点。当它被调用时,它将使用正确的URL。如果您希望它显示在页面的源代码中,请使用后端语言而不是JavaScript。 - marcgg
我在我的回答中添加了一个例子。 - marcgg
1
啊,我明白了,很抱歉给您带来麻烦。 - UFOman
请注意,此pathname仅返回路径,不包括当前URL中的任何查询参数。 - undefined

5
您应该使用 window.location.pathnamewindow.location。这些都是与浏览器当前URL相关的属性。

3

To get current page URL via Jquery and Javascript

  $(document).ready(function() {
      //jquery
    $(location).attr('href');

    //pure javascript
    var pathname = window.location.pathname;

    // to show it in an alert window
    alert(window.location);
});


$.getJSON("idcheck.php?callback=?", { url:$(location).attr('href')}, function(json){
  //alert(json.message);
});

3
您可以使用以下内容:
var path = window.location.pathname; // path only
var url      = window.location.href;     // full URL

编辑:

$.getJSON("idcheck.php?callback=?", { url: window.location.href }, function(json){ alert(json.message);});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接