我很好奇,从URL中获取任何url参数的最佳做法是什么?
AcceptSocket()
目标是获取以下值:
http://localhost:8080/BIM/teacher/reports/chapter-quiz/assignment?assessmentId=206a9246&classroomId=722bfadb
将此内容放入HTML页面
function parseUrl(url) {
var urlParamSplit = url.split("?");
if (urlParamSplit.length !== 2) {
return "InvalidUrlNoParamsSet";
}
var paramsList = urlParamSplit[1].split("&");
if (paramsList.length < 1) {
return "InvalidUrlNoParamsFound";
}
var paramsObj = {};
paramsList.forEach(function(item) {
var keyValueArray = item.split("=");
paramsObj[keyValueArray[0]] = keyValueArray[1];
});
return paramsObj;
}
var params = parseUrl(href);
console.log(params.assessmentId) // 206a9246
console.log(params.classroomId) // 722bfadb
到目前为止,我已经尝试了两种方法,它们都给了我想要的数据,但我不确定哪一种,我应该使用。
如果还有其他方法,我应该考虑一下,请提出建议。
答案 0 :(得分:1)
我认为第一种方法更强大,如果你有几个参数要从url中获取,或者你有一些动态生成的参数而不是第二种方法(动态参数),你必须循环并创建输入也是动态的。
短:使用第一种方法,如果您有几个参数来绘制或动态生成参数,如果您有较少的参数(静态和控制参数),请使用第二种方法。
答案 1 :(得分:1)
如果http请求要在服务器中更改/添加内容,则应使用POST请求(不是在您的情况下)
如果http请求要使用客户端提供的某些数据来获取某些内容,则应使用GET查询参数将数据传递到服务器