我希望在我的网址上获得非常具体的字符串,以在js中添加参数:
function cambiarContrasena(usuario, completado, fallo) {
apiService.post('/api/usuario/cambiarContrasena?token=', usuario,
completado,
fallo);
}
网址
http://localhost:55728/Cliente/#/cambiarContrasena.html?Token=e12009cf-d48d-42e7-ba43-83b5082019bb
我想只有Guid afrer Token=
喜欢:
e12009cf-d48d-42e7-ba43-83b5082019bb
我尝试使用:
var url = (location.pathname + location.search).substr(1);
function cambiarContrasena(usuario, completado, fallo) {
apiService.post('/api/usuario/cambiarContrasena?token='+url, usuario,
completado,
fallo);
}
但是我得到了
http://localhost:55718/api/usuario/cambiarContrasena?token=Cliente/
我也试过:
var guid = url.substr(url.indexOf('Token=') + 6);
function cambiarContrasena(usuario, completado, fallo) {
apiService.post('/api/usuario/cambiarContrasena?token='+guid, usuario,
completado,
fallo);
}
但是我得到了
未捕获的ReferenceError:未定义url
在Token =?
之后我只需要获取参数我试着这个question:
function getParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
function cambiarContrasena(usuario, completado, fallo) {
apiService.post('/api/usuario/cambiarContrasena?token='+getParameterByName, usuario,
completado,
fallo);
}
但是我收到了一个错误:
POST http://localhost:55718/api/usuario/cambiarContrasena?token=function%20getPa ...%20%20var%20regex%20 =%20new%20RegExp(%22 [&安培;?]%22%20 +%20name%20 +%20%22(=([^&安培; 400(不良请求)
答案 0 :(得分:1)
试试这个:
var url = window.location.hash.split('?Token=')[1];
var guid = url || '';