Приложение Nativescript и angular 2 прерывается при совершении http-вызовов

При обновлении до основного модуля tns 2.2.0 и углового rc4 (официально выпущенная версия телериком) мое приложение больше не может выполнять http-вызовы на сервер, я продолжаю получать эту ошибку

com.tns.NativeScriptException: 
Calling js method onClick failed

EXCEPTION: Error in /data/data/org.nativescript.EatSafe/files/app/pages/login/login.html:5:75
ORIGINAL EXCEPTION: Error: not implemented
ORIGINAL STACKTRACE:
Error: not implemented
    at NativeScriptDomAdapter.Parse5DomAdapter.getCookie (/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/platform-server/src/parse5_adapter.js:619:68)
    at CookieXSRFStrategy.configureRequest (/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/http/src/backends/xhr_backend.js:150:82)
    at XHRBackend.createConnection (/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/http/src/backends/xhr_backend.js:165:28)
    at httpRequest (/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/http/src/http.js:22:20)
    at Http.post (/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/http/src/http.js:78:16)
    at UserService.signin (/data/data/org.nativescript.EatSafe/files/app/shared/services/user.service.js:13:27)
    at LoginComponent.login (/data/data/org.nativescript.EatSafe/files/app/pages/login/login.component.js:31:27)
    at DebugAppView._View_LoginComponent0._handle_tap_8_0 (LoginComponent.template.js:355:28)
    at /data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/linker/view.js:375:24
    at /data/data/org.nativescript.EatSafe/files/app/tns_modules/nativescript-angular/renderer.js:204:26
ERROR CONTEXT:
[object Object]
File: "/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/linker/view.js, line: 365, column: 16

StackTrace: 
    Frame: function:'DebugAppView._rethrowWithContext', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/linker/view.js', line: 365, column: 17
    Frame: function:'', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/linker/view.js', line: 378, column: 23
    Frame: function:'', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/nativescript-angular/renderer.js', line: 204, column: 26
    Frame: function:'ZoneDelegate.invoke', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/zone.js/dist/zone-node.js', line: 290, column: 29
    Frame: function:'NgZoneImpl.inner.inner.fork.onInvoke', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/zone/ng_zone_impl.js', line: 53, column: 41
    Frame: function:'ZoneDelegate.invoke', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/zone.js/dist/zone-node.js', line: 289, column: 35
    Frame: function:'Zone.run', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/zone.js/dist/zone-node.js', line: 183, column: 44
    Frame: function:'NgZoneImpl.runInner', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/zone/ng_zone_impl.js', line: 84, column: 71
    Frame: function:'NgZone.run', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/@angular/core/src/zone/ng_zone.js', line: 235, column: 66
    Frame: function:'zonedCallback', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/nativescript-angular/renderer.js', line: 203, column: 24
    Frame: function:'Observable.notify', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/data/observable/observable.js', line: 174, column: 23
    Frame: function:'Observable._emit', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/data/observable/observable.js', line: 193, column: 18
    Frame: function:'_android.setOnClickListener.android.view.View.OnClickListener.onClick', file:'/data/data/org.nativescript.EatSafe/files/app/tns_modules/ui/button/button.js', line: 33, column: 32


    at com.tns.Runtime.callJSMethodNative(Native Method)
    at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:862)
    at com.tns.Runtime.callJSMethodImpl(Runtime.java:727)
    at com.tns.Runtime.callJSMethod(Runtime.java:713)
    at com.tns.Runtime.callJSMethod(Runtime.java:694)
    at com.tns.Runtime.callJSMethod(Runtime.java:684)
    at com.tns.gen.android.view.View_OnClickListener.onClick(View_OnClickListener.java:11)
    at android.view.View.performClick(View.java:5233)
    at android.view.View$PerformClick.run(View.java:21209)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:152)
    at android.app.ActivityThread.main(ActivityThread.java:5507)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Я пытался найти в Интернете журнал выпуска обновления, чтобы узнать, есть ли какие-либо критические изменения, но безрезультатно. есть ли у кого-нибудь указания о том, как совершать http-вызовы с новыми угловыми обновлениями nativescript?

Спасибо


person John Adetutu    schedule 16.08.2016    source источник
comment
Я не знаю, действительно ли это решит вашу проблему, но здесь, на github, есть открытая проблема: github.com/NativeScript/nativescript-angular/issues/397   -  person TruckerG    schedule 18.08.2016
comment
Спасибо, я нашел проблему и воспользовался предложением Натана, и это сработало. Вы должны загрузить NS_HTTP_PROVIDERS в main.ts и убедиться, что вы установили версию nativescript-angular на «следующую» в обоих файлах package.json. установка и сборка npm. это должно исправить.   -  person John Adetutu    schedule 18.08.2016
comment
Какой другой файл package.json? Тот, что в папке app?   -  person TruckerG    schedule 18.08.2016
comment
да, тот что в папке app   -  person John Adetutu    schedule 18.08.2016


Ответы (2)


Я исправил это, импортировав в app.moudle.ts следующее

import {NativeScriptHttpModule} from 'nativescript-angular/http';

А потом

 imports: [NativeScriptHttpModule]
person notnotundefined    schedule 07.06.2017

Вам нужен этот код в вашем файле main.ts

import {Parse5DomAdapter} from '@angular/platform-server/src/parse5_adapter';

(<any>Parse5DomAdapter).prototype.getCookie = function (name) { return null; };
person scottmgerstl    schedule 20.08.2016