http post请求没有响应

凯尔·托雷·维拉尔

我已经检查通过Postman并工作发送测试发布请求但是,当我在我的Ionic3应用程序中应用它们时,它没有JSON在我的 HTML 模板上显示结果。以下是我的代码供您参考:

购买-words.html

<!--
Generated template for the BuyWordsPage page.

See http://ionicframework.com/docs/components/#navigation for more info on
Ionic pages and navigation.
-->
<ion-header></ion-header>

<ion-content class="buy-words">
    <form class="form-create">
        <div class="top-box">
            <div class="div-img-shop">
                <ion-icon class="img-shop" name="cube"></ion-icon>
            </div>
            <h2 class="shop-title">Shop</h2>
            <!--<p class="desc">
                You can also purchase these word packs starting at USD<span id="wc-rate">10</span>!
            </p>-->
        </div>
        <div class="word-pack-list">
            <h3 class="pack-title">Word Packs</h3>
            <div class="desc-box">
                <p class="desc">
                    You can also purchase these word packs starting at USD<span id="wc-rate">10</span>!
                </p>
            </div>
            <!--<div *ngFor="let pack of packs" class="right-box">
                <ion-item class="wp-list-item">
                    <ion-label class="wp-lbl">{{ pack.words }}</ion-label>
                    <ion-label class="wp-price">$ {{ pack.price }}</ion-label>
                </ion-item>
            </div>-->
            <ion-slides pager="true" class="slide-wc">
            <ion-slide *ngFor="let pack of packs">
                <ion-item class="wp-list-item">
                    <p class="wp-lbl" stacked>{{ pack.words }}</p>
                    <p class="wp-words" stacked>Words</p>
                    <p class="wp-desc" stacked>{{ pack.description }}</p>
                </ion-item>
                <ion-label class="wp-price" stacked>Buy for $ {{ pack.price }}</ion-label>
            </ion-slide>
            </ion-slides>
        </div>
    </form>
</ion-content>

购买-words.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, AlertController, ToastController } from 'ionic-angular';
import { ApiProvider } from '../../providers/api/api';

/**
* Generated class for the BuyWordsPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/

@IonicPage()
@Component({
selector: 'page-buy-words',
templateUrl: 'buy-words.html',
})
export class BuyWordsPage {
    access_token = '';
    token_type = '';
    headers = {};
    packs: Array<any> = [];

    constructor(public navCtrl: NavController, 
                public navParams: NavParams,
                public alertCtrl: AlertController,
                public toast: ToastController,
                public quickeApi: ApiProvider) {
    }
    ionViewDidLoad() {
        console.log('ionViewDidLoad BuyWordsPage');
    }
    ionViewWillEnter() {
        this.token_type = this.quickeApi.getTokenType();
        this.access_token = this.quickeApi.getAccessToken();
        this.headers = {
        'Authorization' : this.token_type + ' ' + this.access_token
        }
        var onSuccess = (response) => {
        var result = JSON.parse(response.data);

        // show alert if there is an error
        if(result.errors.length !== 0)
        {
            this.alertCtrl.create({
                title: 'ALERT',
                subTitle: result.errors.join('. '),
                buttons: ['Dismiss']
            }).present();
            return;
        }
        this.packs = [];
        for(var i=0;i<result.length; i++)
        {
            this.packs.push(result[i]);
        }
    }; 
    var onError = (error) => {
        this.alertCtrl.create({
            title: 'ALERT',
            subTitle: error.error.toString(),
            buttons: ['Dismiss']
        }).present();
        return;
    };
    this.quickeApi.listPacks(this.headers, onSuccess, onError);
    }

}

api.ts

import { Injectable } from '@angular/core';

import { HTTP } from '@ionic-native/http';

/*
Generated class for the ApiProvider provider.

See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class ApiProvider {

    baseUrl = 'https://quickenow.com';

    token_type = '';

    accessToken = '';

    client_id = <client_id here>;

    client_secret = <client_secret here>;

    deviceId = null;

    constructor(public http: HTTP) {

        // console.log('Hello ApiProvider Provider');


    }

    getClientId(){
        return this.client_id;
    }

    getClientSecret(){
        return this.client_secret;
    }

    setTokenType(value) {
        this.token_type = value;
    }

    getTokenType() {
        return this.token_type;
    }

    setAccessToken(value) {
        this.accessToken = value;
    }

    getAccessToken() {
        return this.accessToken;
    }

    login(data, onSuccess, onError) {
        var url = this.baseUrl + '/api/oauth/login';
        this.http.post(url, data, {}).then(onSuccess).catch(onError);
    }

    logout(headers, onSuccess, onError) {
        var url = this.baseUrl + '/api/oauth/logout';
        this.http.post(url, {}, headers).then(onSuccess).catch(onError);
    }

    createOrder(data, headers, onSuccess, onError) {
        var url = this.baseUrl + '/api/order/create';
        this.http.post(url, data, headers).then(onSuccess).catch(onError);
    }

    pollOrder(data, onSuccess, onError) {
        var url = this.baseUrl + '/api/poll-order';
        this.http.post(url, data, {}).then(onSuccess).catch(onError);
    };

    register(data, onSuccess, onError) {
        var url = this.baseUrl + '/api/register';
        this.http.post(url, data, {}).then(onSuccess).catch(onError);
    }

    networkLogin(data, onSuccess, onError) {
        var url = this.baseUrl + '/api/login-network';
        this.http.post(url, data, {}).then(onSuccess).catch(onError);
    }

    buyPacks(data, onSuccess, onError) {
        var url = this.baseUrl + '/api/pack/buy';
        this.http.post(url, data, {}).then(onSuccess).catch(onError);
    }

    listPacks(headers, onSuccess, onError) {
        var url = this.baseUrl + '/api/pack/list';
        this.http.post(url, {}, headers).then(onSuccess).catch(onError);
    }

    getCustomerInfo(headers, onSuccess, onError) {
        var url = this.baseUrl + '/api/customer/info';
        this.http.post(url, {}, headers).then(onSuccess).catch(onError);
    }
}
凯尔·托雷·维拉尔

我刚刚删除了该if(result.errors.length !== 0)行,因为我发现errorsJSON 对象中不存在该行。

由此:

 if(result.errors.length !== 0)
        {
            this.alertCtrl.create({
                title: 'ALERT',
                subTitle: result.errors.join('. '),
                buttons: ['Dismiss']
            }).present();
            return;
        }

对此:

this.alertCtrl.create({
                title: 'ALERT',
                subTitle: result.errors.join('. '),
                buttons: ['Dismiss']
            }).present();
            return;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

loopj android-async-http请求有时根本没有响应

来自分类Dev

loopj android-async-http请求有时根本没有响应

来自分类Dev

没有HTTP响应的HTTP请求

来自分类Dev

没有HTTP响应的HTTP请求

来自分类Dev

带有 json 响应的 PHP Http Post 请求:没有有效的 json

来自分类Dev

nodejs http.request 方法没有响应,回调没有错误

来自分类Dev

$http POST 没有返回正确的响应

来自分类Dev

发送 post 请求后似乎没有响应

来自分类Dev

$ http.post没有发送请求?

来自分类Dev

$ http.post没有发送请求?

来自分类Dev

在 angular 6 中使用 takeWhile 来使用 http 轮询 api 时没有响应

来自分类Dev

当 EC2 没有响应 http 时,如何自动停止和启动它

来自分类Dev

Firebase:响应 http POST 请求

来自分类Dev

在 swift HTTP 请求中没有得到完整的响应?

来自分类Dev

Omniauth没有响应GET请求

来自分类Dev

PHP没有响应Angularjs请求

来自分类Dev

Python请求没有响应

来自分类Dev

没有响应的ajax请求

来自分类Dev

Python发布请求没有响应

来自分类Dev

jQuery .post没有响应

来自分类Dev

将Express App部署到Azure App Services没有响应端口8080上的HTTP ping

来自分类Dev

响应不带位置的HTTP POST请求

来自分类Dev

了解HTTP POST请求/响应过程

来自分类Dev

使用 Alamofire 调用 GET 请求后没有响应

来自分类Dev

使用 AJAX 请求的 API 没有响应

来自分类Dev

python 3中的get请求站点没有响应

来自分类Dev

在请求中放入 Header 后没有响应

来自分类Dev

在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

来自分类Dev

在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

Related 相关文章

热门标签

归档