我们正在将现有的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是否忽略[]个字符进行编码。