How to convert URL parameters to a JavaScript object?

前端 未结 30 1530
时光取名叫无心
时光取名叫无心 2020-11-22 13:57

I have a string like this:

abc=foo&def=%5Basf%5D&xyz=5

How can I convert it into a JavaScript object like this?

{
          


        
30条回答
  •  清歌不尽
    2020-11-22 14:45

    Pretty easy using the URLSearchParams JavaScript Web API,

    var paramsString = "q=forum&topic=api";
    
    //returns an iterator object
    var searchParams = new URLSearchParams(paramsString);
    
    //Usage
    for (let p of searchParams) {
      console.log(p);
    }
    
    //Get the query strings
    console.log(searchParams.toString());
    
    //You can also pass in objects
    
    var paramsObject = {q:"forum",topic:"api"}
    
    //returns an iterator object
    var searchParams = new URLSearchParams(paramsObject);
    
    //Usage
    for (let p of searchParams) {
      console.log(p);
    }
    
    //Get the query strings
    console.log(searchParams.toString());

    Useful Links

    • URLSearchParams - Web APIs | MDN
    • Easy URL Manipulation with URLSearchParams | Web | Google Developers

    NOTE: Not Supported in IE

提交回复
热议问题