未捕获的TypeError:无法读取未定义窗口位置的属性“split”

时间:2017-04-03 00:05:17

标签: javascript

我有这个错误,我谷歌关于它。但我没有找到我的问题

  var url = window.location.hash.split('?Token=')[1];
        url = url.split('Token=');

        function cambiarContrasena(usuario, completado, fallo) {
            apiService.post('/api/usuario/cambiarContrasena?token='+url, usuario,
            completado,
            fallo);
        }

我的价值不是空洞或未完成,有人可以帮助我吗?谢谢!

2 个答案:

答案 0 :(得分:1)

使用href代替hash

 var url = window.location.href.split('?Token=')[1];
 // url = url.split('Token='); no need to split it again.

 function cambiarContrasena(usuario, completado, fallo) {
        apiService.post('/api/usuario/cambiarContrasena?token='+url, usuario,
        completado,
        fallo);
 }

hashhref之间的差异是它们返回网址的不同部分。这是URL的解剖:

Anatomy of a URL

在这种情况下,window.location.hash会返回#00h02m30s,其中windows.location.href会返回整个网址。

答案 1 :(得分:0)

我认为它应该是var url = window.location.split('?Token=')[1];(没有.hash,因为你想要参数)