我需要联系服务器以使用HTTP服务。
尝试使用浏览器访问该服务,使用https://example.com/service
我获得了基本身份验证对话框。
将网址更改为https://username:password@example.com/service
可轻松绕过该网址。
尝试使用Ajax执行相同操作始终会导致401 Unauthorized
:
$.ajax({
url: 'https://username:password@example.com/service',
// rest repeats
type: "GET",
async: true,
success: function(text) { alert('success'); },
error: function (text) { alert('error') },
complete: function(text) { alert('complete'); }
});
$.ajax({
url: 'https://example.com/service',
username: username,
password: password,
// snip repeat
});
$.ajax({
url: 'https://example.com/service',
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic "
+ btoa(username + ":" + password));
},
// snip repeat
});
答案 0 :(得分:8)
我自己也遇到了类似的情况...... 诀窍是使用jsonp(呃):
<script src='//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script>