在AJAX中获取URL var

时间:2012-11-29 20:14:56

标签: javascript ajax get

  

可能重复:
  How can I get query string values?

您好,我的网页上有一个像

这样的网址

mypage.com?iid=11&pid=1

在那里运行一些ajax并需要将我的查询字符串中的idd传递给此代码块

$.ajax({
dataType : "html" ,
url: "stream.php?iid=[GET iid]&lastComment="+ $(".postedComment:last").attr('id') , 

但是我没有足够的经验来使我的语法正确。我会用什么代替[GET iid]传递该变量?

<?php $_GET['iid'];?> 

因为它是一个JS文件而无效。

由于

2 个答案:

答案 0 :(得分:0)

没有标准的解决方案。每个人都有自己的解决方案。

我个人有时会使用这个功能:

getUrlParameter = function(name, defaultValue) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var results = new RegExp( "[\\?&]"+name+"=([^&#]*)" )
         .exec( document.location.href );
    if( results == null ) return defaultValue;
    else return decodeURIComponent(results[1]);
};
像这样:

$.ajax({
dataType : "html" ,
url: "stream.php?iid="+getUrlParameter('iid')+"&lastComment="+ $(".postedComment:last").attr('id') , 

答案 1 :(得分:0)

以下是答案

How can I get query string values in JavaScript?

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