Я хочу получить json из этого API, но у него есть аутентификация, имя пользователя (nama pengguna) - "foo" и пароль (sandi) "foo". Как я могу получить его в своей программе? Я использую JQuery и поддерживаю его с помощью phonegap и создаю для Android
Я так стараюсь
$.ajax({
url: 'http://api.tabloidnova.com/1/subscribe/get?api_key=259225f04f4015746b03e1bad6238eaa&format=json&channel_id=110',
beforeSend: function(xhr){
xhr.setRequestHeader("Authorization","Basic foo:foo");
},
dataType: 'json',
async: false,
success: function(data){
$.each(data,function(i,grab){
console.log(grab[i].article.node_id);
console.log("tes");
})
}
})
но в моем эмуляторе пульсаций он по-прежнему дает мне несанкционированную ошибку. Если я использую эмулятор рябины, он не может работать, потому что я запускаю его из localhost, у которого есть исходная политика. Любое предложение?
РЕШАЕМ сейчас. Наконец, я сначала кодирую его имя пользователя и пароль. благодаря
Вам нужно будет установить соответствующий заголовок запроса для передачи учетных данных. См. Например, здесь.
$.getJSON({
'url': 'http://host.com/action/',
'otherSettings': 'othervalues',
'beforeSend': function(xhr) {
//May need to use "Authorization" instead
xhr.setRequestHeader("Authentication",
"Basic " + encodeBase64(username + ":" + password)
},
sucess: function(result) {
alert('Done');
}
});
В javascript с помощью ajax
мы можем сделать так:
$.ajax({
'url': 'http://host.com/action/',
'beforeSend': function(xhr) {
xhr.setRequestHeader("Authentication", "Basic " + encodeBase64(username + ":" + password) //May need to use "Authorization" instead
},
sucess: function(result) {
alert('done');
}
});
Проверьте документацию для jQuery.ajax(). У вас будет больше возможностей для реализации этого.