Axios获取请求不接受“ []”作为参数值

时间:2019-09-19 11:19:03

标签: vuejs2 axios

我们正在将现有的jQuery Ajax调用迁移到Vue Axios。当我们添加任何具有[]字符的参数时,请求将无法调用后端服务,并且如果我们排除具有[]字符的参数,则该请求将成功。

成功请求网址,该网址是网络标签中现有的 Ajax URL: http://localhost:8080/app_Server/FetchData?userId=alex&queryListStr=%5B%5D

故障请求网址,即“网络”标签中的 Axios URL: http://localhost:8080/app_Server/FetchData?userId=alex&queryListStr=[]

我可以看到Ajax编码为[]字符,但在Axios中却没有。

我正在尝试按以下方式在GET请求的URL参数中传递参数

public async fetchRows(data:any){
        try {
            const url="http://localhost:8080/app_Server/FetchData";
            const resp = await axios.get(url, {  
                params: {                      
                  userId : "alex",                
                  querytr :"[]"                               
                }
            });        
            console.log(`this is the response: ${resp}`);            
          } catch (e) {
            console.log(`Error! ${e.message}`);
          };        
    }

参数 queryStr 具有字符“ []” 。如果我们在jquery $ .getJSON()API中传递这些参数,则相同的参数将起作用。发出请求时参数编码是否有问题。Axios是否忽略[]个字符进行编码。

0 个答案:

没有答案