如何避免在使用Angularjs执行$http GET时在URL中显示参数
How to avoid displaying parameters in the URL when doing an $http GET with Angularjs
我有一个非常简单的登录,但由于我们的后端结构,我必须使用angularjs的$http GET请求进行登录。
但是,我不希望在URL中看到用户名和密码。
所以我很好奇我能做些什么来解决这个问题?任何帮助都将不胜感激。
这是我的LoginController.js
self.login = function() {
if (self.username == '' || self.password == '') {
alert("Please Check your credentials");
} else {
LoginService.login(self.username, self.password).then(function (resp) {
//console.log(resp);
LoginService.setCredentials(self.username,self.password);
$state.go('dashboard');
})
}
}
这是LoginService.js
var loginSuccess = function (response) {
//console.log(response.data);
//console.log(response.data.keyId);
$rootScope.keyId = response.data.keyId;
$cookies.put('keyId',$rootScope.keyId);
self.isLoggedIn = true;
//$state.go('dashboard');
return response.data;
};
return {
login: function (username, password) {
return $http({
method: 'GET',
url: 'https://URLHERE/ApplicationKeys/'+username+'Key/?userid='+username+'&password='+password,
headers: {'ACCEPT':'application/json'}
}).then(loginSuccess,loginFailure);
},
isLoggedIn: function () {
return self.isLoggedIn;
},
如果您控制与之通信的服务器,则应将其修改为POST。获取用于获取信息,而不是更新信息
此外,您还可以传递数据对象,而不是将其作为url的一部分。
return $http({
method: 'GET',
url: 'https://URLHERE/ApplicationKeys/'+username+'Key/',
headers: {'ACCEPT':'application/json'},
data: {userid: username, password: password}
}).then(loginSuccess,loginFailure);
我找到了自己的答案。显然,当您在html中使用<form></form>
标记时,它会将所有信息粘贴到浏览器中的URL。当我删除html页面中的<form>
标记时,一切都消失了。
相关文章:
- 使用jquery在单击时在单元格中输入值
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 如何在运行时在angular 2中加载外部js脚本
- 单击按钮时在灯箱中显示不同的内容
- 编辑数据库输入时在文本框上换行
- JQuery AJAX 在 GET 请求完成时返回 XML
- Node.js 在使用 id 参数时在 dpd.get 上部署 404 错误,在 dpd.put 上部署 400 错误
- 如何使用 jQuery $.ajax() 时使用 GET 在请求正文中发送数据
- 调用Instagram用户API时出错.刚刚在GET方法中死亡
- 如何避免在使用Angularjs执行$http GET时在URL中显示参数
- 代码日志记录在$.get请求中运行时未定义,但在页面上运行时工作正常
- 用js调用php, js在get请求时停止,两个文件单独工作
- 为什么IE9在按enter键时调用get方法而不是post,如何修复?
- 为什么我的AJAX请求在开发中是PUT请求,但在运行测试时是GET请求?
- 在提交时反应 GET 表单数据
- 在浏览器选项卡关闭时发送GET请求
- AngularJS在GET请求时向数组推送新项
- 在REST服务中使用ContainerResponse筛选器时,GET正在工作,但POST不工作
- Nodejs请求模块:如何在使用get方法时在body中添加参数
- 不要在单击链接时发送GET请求