我一直在嘗試對休息服務進行$ ajax()調用。我需要使用基本身份驗證來進行此調用,所以我將beforeSend處理程序添加到了我的ajax調用中。當我在Fiddler中跟蹤這個時,我沒有看到它將授權頭附加到我的請求中。beforeSend不會將授權標頭添加到我的jquery ajax調用(基本授權)
<body>
<div id="Button1" style="border: 2px solid blue; font-family: Cambria;">
Get CMS Content
</div>
<br />
<div id="error" style="color: Red; font-family: Cambria; font-size: large; display: none;">
</div>
<span style="font-family: Cambria; color: #009933; font-weight: bold">Result:</span>
<div id="result">
</div>
<script src="scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#Button1').click(function() {
$('#error').fadeOut('slow');
//var requestParams = { 'format': 'json', 'username': 'administrator', 'password': '' };
var requestParams = { 'format': 'json' };
$.ajax({
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic YWRtaW5pc3RyYXRvcjo=");
},
url: "http://localhost/KenticoCMS7/rest/cms.country",
data: requestParams,
dataType: "text",
contentType: "application/json;",
success: function (result) {
$('#error').fadeOut('slow');
$('#result').text(result);
},
error: function (xhr, status, errorThrown) {
$('#error').text(JSON.stringify(xhr));
$('#error').fadeIn('slow');
}
});
});
});
</script>
圍繞這個建議會有很大的幫助。另外,有人可以評論一下,爲什麼fiddler將這個請求作爲OPTIONS類型來追蹤,當它應該是GET類型時?
此外,我得到一個405錯誤:方法不允許在小提琴上的迴應。 – vaibinewbee 2013-02-13 18:31:40