REST 请求或其他方式发送基本身份验证而无需来自 IE 的挑战
REST request or some other way to send basic authentication without challenge from IE
我也在超级用户上发布了这个,但也许在这里从开发人员那里得到正确答案会更容易。
我正在寻找一种从 Internet Explorer 发送 GET HTTPS 请求的方法。我需要发送基本身份验证 header,即使服务器没有挑战它。
这在 Firefox 中使用 Postman 或 RESTClient add-on 很简单,但我只能使用 Internet Explorer。
这可能吗?
我建议使用angularJS。 REST 后端的客户端似乎很强大。
这里是关于与 IE 兼容性的参考:
https://docs.angularjs.org/guide/ie
这是我的例子:
var app = angular.module('myApp',['ngRoute', 'ngResource']);
app.factory('RoomsResources', function ($resource) {
var auth_header = { 'Authorization': 'Basic ________[token auth]_____________'};
return $resource('https://[domain_name]/api/v1/rooms/:id', {id:'@id'}, {
list: { method: 'GET', isArray:true, headers: auth_header},
get: { method: 'GET', headers: auth_header},
store: { method: 'POST', headers: auth_header},
update: { method: 'PUT', headers: auth_header},
destroy: { method: 'DELETE', headers: auth_header}
})});
您也可以使用原版 javascript。例如,您要发送 GET 请求。这是一个关于此的问题:
How to make an AJAX request to post JSON data and process the response
只需添加 header 和
ajax.setRequestHeader('Authorization','Basic ________[token auth]_____________')
这是一个您可以 copy-paste 用于测试的代码:
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
function getsomething(id) {
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readystate == 4 && xmlhttp.status == 200){
document.getElementById("something").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "http://jsonplaceholder.typicode.com/posts/"+id, true);
xmlhttp.send();
}
我也在超级用户上发布了这个,但也许在这里从开发人员那里得到正确答案会更容易。
我正在寻找一种从 Internet Explorer 发送 GET HTTPS 请求的方法。我需要发送基本身份验证 header,即使服务器没有挑战它。
这在 Firefox 中使用 Postman 或 RESTClient add-on 很简单,但我只能使用 Internet Explorer。
这可能吗?
我建议使用angularJS。 REST 后端的客户端似乎很强大。
这里是关于与 IE 兼容性的参考: https://docs.angularjs.org/guide/ie
这是我的例子:
var app = angular.module('myApp',['ngRoute', 'ngResource']);
app.factory('RoomsResources', function ($resource) {
var auth_header = { 'Authorization': 'Basic ________[token auth]_____________'};
return $resource('https://[domain_name]/api/v1/rooms/:id', {id:'@id'}, {
list: { method: 'GET', isArray:true, headers: auth_header},
get: { method: 'GET', headers: auth_header},
store: { method: 'POST', headers: auth_header},
update: { method: 'PUT', headers: auth_header},
destroy: { method: 'DELETE', headers: auth_header}
})});
您也可以使用原版 javascript。例如,您要发送 GET 请求。这是一个关于此的问题: How to make an AJAX request to post JSON data and process the response
只需添加 header 和
ajax.setRequestHeader('Authorization','Basic ________[token auth]_____________')
这是一个您可以 copy-paste 用于测试的代码:
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
function getsomething(id) {
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readystate == 4 && xmlhttp.status == 200){
document.getElementById("something").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "http://jsonplaceholder.typicode.com/posts/"+id, true);
xmlhttp.send();
}