从Javascript ES6中的Prestashop的Rest API获取数据(json)(React Native)

时间:2017-01-19 18:01:59

标签: javascript android rest fetch prestashop-1.7

我正在寻找解决这个问题的方法。我想将prestashop REST API用于特定的测试活动。我的问题是我无法使用此表单进行身份验证,甚至不使用缓冲区和DOMParser,因为我正在为android 4.4.1开发一个项目,而Buffer不兼容。

有人可以帮忙吗?先感谢您。最诚挚的问候。

我做了类似的事情(下面两​​个例子):

let API = null;
const SERVER_ADDRESS = 'http://192.168.1.5/prestashop/api/';

//也试过“& output_format = JSON”     const token ='X3IIMEP8JJI3PKPXIMEP8JJI3PKPICJMM';

try {
    fetch(SERVER_ADDRESS, {
        method: 'GET',
        headers: {
            'Authorization': token
        }
    })    
    .then(function(response) {
        if(response.status == 200) return response.json();
        else throw new Error('Something went wrong on api server!');
    })
    .then(function(response) {
        console.debug(response);
        // ...
    })
} catch (e) {
    alert(e);
}

========================

import {Buffer} from 'buffer';
import {DOMParser} from 'xmldom';

let API = null;
const SERVER_ADDRESS = 'http://192.168.1.5/prestashop/api/';
const REST = {
    CMS: 'content_management_system'
};
const token = 'XGRCBUW745EH4SPHCU92MKL4RGNVPYXY';
const AuthorizationString = 'Basic ' + new Buffer(token + ':').toString('Base64');

try {

    componentDidMount({
    fetch(SERVER_ADDRESS, {
        method: 'GET',
        headers: {
            'Authorization': AuthorizationString
        }
    }).then(function (response) {
        response.text().then(function (text) {
            API = new DOMParser().parseFromString(text);
        });
    });

    }

} 

catch (e) {
    alert(e);
}

1 个答案:

答案 0 :(得分:0)

你试过吗

headers: {
        'Authorization': 'Bearer '+token
    }

我不确定prestashop如何进行身份验证,但我的系统使用JWT并要求令牌以Bearer为前缀