0
在一個靜態html頁面中,我正在嘗試使REST GET調用獲取json數據。 我有一個URL,我可以在瀏覽器中打開帳戶+祕密的URL並在瀏覽器中獲取json數據。我不能給你正確的網址,但是這是什麼感覺:基本身份驗證休息調用來獲取json數據
http://123456:[email protected]/Media/service/id/323847.json
我已經試過計算器上無數的例子都沒有成功! 這裏是我試過,我回來錯誤:錯誤
<script type="text/javascript">
function getRest(){
$.ajax({
type: 'GET',
url: 'http://media.fakename.com/Media/service/id/323847.json',
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', basicOath('123456', 'ABCDEFGHIJKLM'));
},
success: function() {
var myvar = data;
$(".text").html(myvar);
},
error: function(jqXHR, status) {
$(".text").html("Error: " + status);
}
});
}
function basicOath(account, secret) {
var tok = account + ':' + secret;
var hash = btoa(tok);
return 'Basic ' + hash;
}
</script>
和
<input id="clickMe" type="button" value="get rest" onclick="getRest();" />
<div class="text">abc <br />'
我能夠嘗試jQuery的典範之作休息調用來獲取影像。它完美的作品。 http://api.jquery.com/jquery.getjson/ 所以我知道我可以打出其他電話。
我在做什麼錯了?感謝您的幫助,因爲我已經掌握了堆棧和網頁上的所有示例。我撞到了一堵磚牆。
在您的瀏覽器網絡控制檯中,請求獲取的響應代碼是什麼?注意,你的成功方法沒有'數據'作爲輸入參數,但你正在嘗試使用它。這將是不確定的。儘管你在做什麼似乎很奇怪。你正在獲取數據並將其粘貼在頁面上,但是你的'dataType'就像json所說的那樣,你期望響應是json(如果不是,那麼會出錯)。這是否準確?你想把原始的JSON放在頁面上嗎? – Taplar
原始數據將進入數組。我只是把它放在頁面上進行測試。我得到未捕獲的SyntaxError:意外的令牌)並且對預檢請求的響應沒有通過訪問控制檢查:請求的資源上沒有「訪問控制 - 允許 - 來源」標頭。因此不允許Origin'http:// localhost'訪問。該響應具有HTTP狀態碼401. – piddler
因此,有些語法錯誤的地方,並且您正在發出CORS請求被阻止。 – Taplar