2017-02-04 3 views
0

Я новичок в Ionic. Мой файл машинопись, как это:Ionic 2: загрузка внешнего содержимого внутри приложения

import { Component } from '@angular/core'; 
import { Http } from '@angular/http'; 

import { NavController } from 'ionic-angular'; 

@Component({ 
selector: 'page-about', 
templateUrl: 'about.html' 
}) 
export class AboutPage { 
    mypage: any; 

    constructor(public navCtrl: NavController, public http: Http) { 
     this.http 
    .get('http://localhost/xampp/') 
    .map(response => response.text()) 
    .subscribe(html => this.mypage = html); 
    } 
} 

Любой URL, даже в том же источнике, приводит к ошибке, как:
EXCEPTION: Response with status: 0 for URL: null Ошибка появляется на любом ионную служить в моем компьютере или телефоне. Что я должен сделать, чтобы решить? Я думал загрузить его как компонент слишком «templateUrl:« somehtml », но в будущем я хотел бы загрузить некоторые json-данные в свои приложения. Спасибо.

+0

Я думаю, вам будет сложно связать, чтобы получить полный URL-адрес из запроса GET. Существуют серьезные риски для безопасности. Я был бы очень удивлен, даже если вы его заработаете, что он будет принят магазинами приложений. Если это ваша собственная кодовая база, вам нужно создать Api, который будет взаимодействовать с запросом GET –

+0

У меня это (SOAP и веб-сервис REST); это было только для учебных целей. Каким должен быть маршрут? Разве это другое, если я хочу загрузить шаблон или некоторые данные json или массив? –

ответ

1

Я решил это сам. Это была проблема CORS, но я почти ничего не узнал об этом на Ionic 2. Ответ лежит в файле. Вы должны добавить эти строки в пункт json:

"proxies": [ 
    { 
     "path": "/virtualfolder", 
     "proxyUrl": "http://www.externalsite.com" 
    } 
    ] 

Теперь возникает настоящая проблема. Достаточно? Нет конечно. Вернемся к моему коду, я должен был это сделать:

this.http 
    .get('virtualfolder/someresource.html') 
    .map(response => response.text()) 
    .subscribe(html => this.mypage = html); 

Ионные карты вашего внешнего ресурса в указанном вами пути. После того, как я заметил это, мне пришлось решить еще несколько проблем, которые не имели к этому никакого отношения, но в конце концов я сделал то, что хотел, и заметил, насколько велика анти-XSS-политика. Надеюсь, я помогу кому-нибудь.

+0

Вы загружаете html и привязываете его к своему приложению? –

+0

@AvishaiPeretz Я намеревался использовать это, чтобы получить некоторые данные JSON, но он работал с html слишком –

+0

Могу ли я загрузить только часть содержимого html? –

Смежные вопросы