首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP认证大学时间表

HTTP认证大学时间表
EN

Stack Overflow用户
提问于 2017-11-21 03:17:26
回答 1查看 32关注 0票数 0

我的第一个帖子在这里,但我试图创建一个表单,让用户登录到一个超文本传输协议基本认证网站(我的大学时间表),这样做的原因是它不记得登录在iOS上。这是我到目前为止所掌握的

代码语言:javascript
复制
<script>
function submitAuthForm() {
    var login = document.getElementById('login').value;
    var pass = document.getElementById('pass').value;
    location = location.href.replace('://', '://' + encodeURIComponent(login) + ':' + encodeURIComponent(pass) + '@apps.example.com/TimeTables');
    setTimeout(function(){
        location.reload(true);
    }, 5000);
}
</script>
<form method="get" onsubmit="submitAuthForm(); return false">
    <input type="text" id="login" />
    <input type="password" id="pass" />
    <input type="submit" value="OK" />
</form>

到目前为止,我遇到的问题是,当表单提交时,它还会将托管的网站的当前URL附加到表单的末尾,导致时间表服务抛出错误。如果我在这件事上走错了路,希望有人能帮助我,或者给我一个正确的方向:)

EN

回答 1

Stack Overflow用户

发布于 2017-11-21 03:26:25

这是因为您只替换了://部分,所以最后混合了原始href和字符串连接。

您可以创建一个新的href字符串,而不是替换:

代码语言:javascript
复制
location = location.protocol + '//' + encodeURIComponent(login) + ':' + encodeURIComponent(pass) + '@apps.example.com/TimeTables';

location.protocol返回一个类似于http:https:的字符串,您可以将//和登录部分连接起来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47399458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档