Javascript JS/JQuery:将参数添加到参数数目未知的路径

Javascript JS/JQuery:将参数添加到参数数目未知的路径,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个JS脚本,它依赖于一个AJAX调用,该调用向html请求添加一个参数。我遇到了两个问题 我想不出一个简单的方法来获取包含参数的路径名。在straight JS中,location.pathname只返回不带参数的当前路径。使用JQuery,$(document).href返回整个URL,但包括我不想要的内容,如scheme、domain等。是否有一个好的、简单的、简单的方法只返回包含参数的路径 一旦我有了路径,我还没有找到添加参数的好方法,因为路径可能已经包含了零个或多个参数。幸运的是,

我有一个JS脚本,它依赖于一个AJAX调用,该调用向html请求添加一个参数。我遇到了两个问题

  • 我想不出一个简单的方法来获取包含参数的路径名。在straight JS中,
    location.pathname
    只返回不带参数的当前路径。使用JQuery,
    $(document).href
    返回整个URL,但包括我不想要的内容,如scheme、domain等。是否有一个好的、简单的、简单的方法只返回包含参数的路径
  • 一旦我有了路径,我还没有找到添加参数的好方法,因为路径可能已经包含了零个或多个参数。幸运的是,我不需要更新已经存在的密钥,只需添加一个新密钥。我已经发现了一些类似的问题,例如:,但是有没有一种方法可以在不编写自己的URL解析器或其他样板代码的情况下做到这一点

  • 我找到了自己问题的答案

    事实证明,这比我目前找到的任何其他解决方案都要简单得多

    在JS中,
    location.search
    返回URI的查询参数字符串。因此,我可以简单地检查它是否存在,如果存在,则在URI的末尾添加
    &foo=bar
    ,如果不存在,则添加
    ?foo=bar
    。无需解析

    顺便提一下,这也回答了我的另一个问题:
    location.pathname+location.search
    返回包含查询参数的路径


    这个解决方案不会适用于所有情况,尽管它适用于我的情况。可能出现的一些问题:如果要修改现有参数,则需要额外的解析。或者,如果您的参数包含字符,如
    &
    ,则需要额外的转义。这里有一个更完整的解决方案:

    获取仅包含参数的路径名的简单方法是首先使用location.href like var path=window.location.href获取完整的url,然后根据需要拆分此url like(var pathQyeryPramater=path.split(“/”[3])。此PathQyeryParameter将仅返回带有查询参数的整个路径,然后继续上面的回答。

    因此,您已经从另一个问题得到了一系列解决方案。那么,为什么需要编写自己的解析器呢?这些答案已经为你写了。它们还显示了如何从
    位置
    获取参数。也许你应该花点时间处理你找到的代码。如果你使用的是jQuery,
    $(document)。href
    不会返回整个
    href
    。它返回未定义的
    。你想让我为这不是复制品辩护吗?首先,我要问的是,是否有任何jquery或javascript方法可以满足我的需求;另一个问题只问js。另外,我还发布了另一个相关问题,但尚未解决。最后,也许在问到另一个问题后,出现了一些我想做的事情的方法。我只要问一下就好了,对吧?也许是的。还有,很抱歉这个糟糕的方法。我赶着去上班,你说得对,$(document).href无效。一旦我再次回到家,我将不得不查看我在$(文档)上调用的内容,以获取整个URL。如果能找到一种只获取带有参数的路径的方法,那就更好了。