Доступ к JSON с JQuery, который имеет аутентификацию

0

Я хочу получить 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, у которого есть исходная политика. Любое предложение?

РЕШАЕМ сейчас. Наконец, я сначала кодирую его имя пользователя и пароль. благодаря

Теги:
cordova

2 ответа

0

Вам нужно будет установить соответствующий заголовок запроса для передачи учетных данных. См. Например, здесь.

$.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');
    }
});
0

В 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(). У вас будет больше возможностей для реализации этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню