我想从 Ionic 应用程序进行 NTLM 身份验证。使用 postman (一种测试请求的工具),我能够进行此身份验证,并且它工作得很好(使用 NTLM 身份验证选项)。
但是,postman 没有提供任何代码来在 Angular(对于 Ionic)中实现此请求。
经过我自己的研究,我发现Angular 2及以上版本不支持NTLM身份验证。真的是这样吗?
所以我正在考虑使用 Jquery 和下面的代码(由 postman 生成)生成我的请求。 但是它可以与 Ionic 一起使用吗?
这是 Postman 为此请求生成的 JQuery Ajax 实现:
var form = new FormData();
form.append("Login", "yakeri");
form.append("Password", "elcimai77");
var settings = {
"async": true,
"crossDomain": true,
"url": "https://myserver.com/MyService",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Cache-Control": "no-cache",
"Postman-Token": "50392b83-879b-43cb-ba2e-0b5ffc61e2f8"
},
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});
最佳答案
我终于知道了。 postman 的 JavaScript 代码不起作用,所以我只是在 Angular 中发出了一个简单的 POST 请求,并使用 http://username:password@myserver.com
作为 URL。现在可以完美运行了!
引用:Authenticate Windows Authentication using Javascript
此外,为了帮助那些在使用 ionicserve
时遇到相同情况并遇到 CORS 问题的人,只需在 chrome 中禁用 chrome web 安全性即可。在真实设备上使用 CORS 应该不会有任何问题。
感谢您的帮助
关于javascript - 我可以使用 Ionic 发出 Ajax JQuery POST 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51384937/