2014-12-13 28 views
0

我不知道我想要做什么是可能的,或者如果我正在以正确的方式去做。在某些情况下,我希望他们有一个GET参数作为URL的一部分。我希望接收页面能够区分发送负载是否有参数并进行相应调整。检索通过JQuery发送的URL参数。()

这里是我有一个发送负荷:

 $(document).ready(function() { 
      $("a").click(function() { 
       $("div.pageContent").html(''); 
       $("div.pageContent").load($(this).attr('href')); 
       return false; 
      }); 
     }); 

在这种情况下,负载可以有“使用example.php”或“使用example.php键=值?”。在环顾四周(主要是在这个网站),我发现了一些似乎很接近的事情,但并没有完全达到目标。在越来越加载(使用example.php)的页面,我有以下几点:

 function $_GET(name) { 
      name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
      var regexS = "[\\?&]" + name + "=([^&#]*)"; 
      var regex = new RegExp(regexS); 
      var results = regex.exec(window.location.href); 
      if (results == null) 
       return ""; 
      else 
       return results[1]; 
     } 

     $(document).ready(function() { 
      var URL = "example2.php"; 

      if ($_GET('key')) 
      { 
       URL = "example2.php?key=" + $_GET('key'); 
       URL = URL.split(' ').join('%20'); 
      } 

      $("div.output").load(URL); 
     }); 

如果发送源包括查询字符串,我想这增加了URL和一个div是加载这个页面是唯一的,否则我只想在没有查询字符串的情况下加载它。我遇到的最大问题是(我相信),因为这是来自AJAX调用,“window.location.href”不是从JQuery发送的,而是从不改变的根页面的URL。有没有办法能够知道第二个页面的第一页中的load()发送的完整URL是什么?

非常感谢您的帮助。

回答

0

我意识到GET参数已经越过了,因为我可以通过php访问它们而没有问题。我不知道我可以将一段JavaScript代码插入到JavaScript块中,但是一旦我尝试了它,所有结果都解决了。我的新代码如下所示:

 $(document).ready(function() { 
      var URL = "example2.php"; 

      var myValue = "<?php echo $_GET['key']; ?>"; 

      if (myValue !== "") 
      { 
       URL = "example2.php?key=" + myValue; 
       URL = URL.split(' ').join('%20'); 
      } 

      $("div.output").load(URL); 
     }); 

我能够完全摆脱JavaScript的GET功能。我可能从一开始就让这个难度更大,但希望它可以在未来帮助其他人。