我正在尝试访问在Apache preemtive basic authentication下运行的一些RESTful服务。我正在使用jquery Ajax,并使用'身份验证'发送用户和密码。头。 但是,我的请求每次运行时都会抛出一个空错误。
以下是完整的$ .ajax电话:
$.ajax({
cache:false,
url: urladdress,
type:'GET',
async:false,
headers: { "cache-control": "no-cache" },
dataType: "html", //or xml or json
contentType: "html",
beforeSend : function(req)
{
req.setRequestHeader('Authorization', "Basic " + base64string); //user:password);
},
success: function(data){
successcallback(data);
},
error: function(xhRequest, ErrorText, thrownError){
alert("ERROR: "+ JSON.stringify(xhRequest));
},
complete: function(result){
...
}
});
我做错了什么?有什么我在这里无视的吗?感谢。
答案 0 :(得分:1)
解决方案位于服务器端,您必须包含一些自定义标头以响应跨域工作。实验发送以下标题作为回应:
Access-Control-Allow-Origin:yourApiDomain
访问控制 - 允许 - 方法:*
如果使用自定义标题:
Access-Control-Expose-Headers:X-My-Custom-Header,X-Another-Custom-Header
Access-Control-Allow-Headers:X-My-Custom-Header,X-Another-Custom-Header
如果使用HTTP Cookie和HTTP身份验证信息:
Access-Control-Allow-Credentials:true
有关更多信息,请阅读MDN about CORS中的文档: