Maison > Questions et réponses > le corps du texte
?id=001&from=1
我用react
的this.props.location.search
J'ai retiré la partie principale, je ne comprends pas très bien les règles, merci de me donner quelques conseils
某草草2017-05-18 10:49:04
var str = "?id=001&from=1";
JSON.parse("{" +
str.replace("?", "\"")
.replace(new RegExp(/(&)/g),'\",\"')
.replace(new RegExp(/(=)/g),'\":\"')
+ "\"}")
某草草2017-05-18 10:49:04
var reg = /([^?=&]+)=([^?=&]*)/g,
str = window.location.href,
tempObj = {};
str.replace(reg,function(str,key,val){
var k = decodeURIComponent(key),
v = decodeURIComponent(val);
tempObj[k] = v || "";
return str;
});
伊谢尔伦2017-05-18 10:49:04
Ne devrait-il pas y avoir une requête sur place ? Suis-je confus ? . .
Vous pouvez considérer les éléments suivants :
JSON.parse(
'{' +
locatio.search
.replace('?', '')
.replace(/&/g, ',')
.replace(/(\w+)=?(\w+|)/ig, '"":""') + '}')
Il peut apparaître : "?a=1&b=2&c=", ou même "?a=1&b=2&c"
phpcn_u15822017-05-18 10:49:04
"?id=001&from=1".replace('?', '').replace('&', ',').replace(/(w+)=(w+)/g, '$1:$2' )
阿神2017-05-18 10:49:04
var parms = location.search.replace("?","").split("&");
var json = {};
for(let i = 0, n = parms.length; i<n; i++ ){
let t = parms[i].split("=");
json[ t[0] ] = t[1];
}
La méthode JSON.parse ci-dessus est très pratique, mais vous devez prendre en compte le problème de compatibilité ie8. Le type que j'ai écrit n'a pas besoin de prendre en compte la compatibilité, mais il est plus gênant
.淡淡烟草味2017-05-18 10:49:04
fonction GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
迷茫2017-05-18 10:49:04
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
淡淡烟草味2017-05-18 10:49:04
function get_param(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"),
r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURI(r[2]); return null;
}