Приложение SAPUI5 не устанавливает внешние данные API для модели JSON - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь отобразить цену акций, полученную из конечной точки API, в элемент управления плиткой приложения SAPUI5.У меня есть следующая настройка в файле контроллера:

        var oModel = new sap.ui.model.json.JSONModel();
        sap.ui.getCore().setModel(oModel, 'stockinfo');

        // load data from URL
        oModel.loadData('https://api.iextrading.com/1.0/stock/dax/quote?displayPercent=true');
        oModel.attachRequestCompleted(function() {
            var data = oModel.getData();
            console.log('data', data);
            this.getView().getModel('stockinfo').setData(data);
        });     

Когда я пытаюсь привязать это к элементу управления, ничего не отображается:

            <GenericTile
                class="sapUiTinyMarginBegin sapUiTinyMarginTop"
                header="{i18n>startpageUserReviewsTileTitle}"
                press="onNavToReviews">
                <tileContent>
                    <TileContent>
                        <content>
                            <NumericContent 
                                value = "{
                                path:'stockinfo>/latestPrice'
                                }" 
                                scale = "%"
                            />
                        </content>
                    </TileContent>
                </tileContent>
            </GenericTile>

Кто-нибудь знает, что не так с моей настройкой?

1 Ответ

0 голосов
/ 17 октября 2018

Я понял это.Из документов SAP

Загрузите данные в формате JSON с сервера, используя запрос GET HTTP, и сохраните полученные данные JSON в модели.Примечание. Из-за ограничений безопасности браузера большинство запросов «Ajax» подчиняются одной и той же политике происхождения, запрос не может успешно получить данные из другого домена, субдомена или протокола.

Я в основном простоудалил посторонний метод attachRequestCompleted и метод setModel: sap.ui.getCore (). setModel (oModel, stockinfo)

Весь необходимый код:

        var oModel = new sap.ui.model.json.JSONModel();
        oModel.loadData('https://api.iextrading.com/1.0/stock/dax/quote?displayPercent=true');
        this.setModel(oModel, 'stockinfo');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...