Javascript JS/JQuery:将参数添加到参数数目未知的路径
我有一个JS脚本,它依赖于一个AJAX调用,该调用向html请求添加一个参数。我遇到了两个问题Javascript JS/JQuery:将参数添加到参数数目未知的路径,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个JS脚本,它依赖于一个AJAX调用,该调用向html请求添加一个参数。我遇到了两个问题 我想不出一个简单的方法来获取包含参数的路径名。在straight JS中,location.pathname只返回不带参数的当前路径。使用JQuery,$(document).href返回整个URL,但包括我不想要的内容,如scheme、domain等。是否有一个好的、简单的、简单的方法只返回包含参数的路径 一旦我有了路径,我还没有找到添加参数的好方法,因为路径可能已经包含了零个或多个参数。幸运的是,
location.pathname
只返回不带参数的当前路径。使用JQuery,$(document).href
返回整个URL,但包括我不想要的内容,如scheme、domain等。是否有一个好的、简单的、简单的方法只返回包含参数的路径我找到了自己问题的答案 事实证明,这比我目前找到的任何其他解决方案都要简单得多 在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。如果能找到一种只获取带有参数的路径的方法,那就更好了。