加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用angular2中的form-data发送帖子

发布时间:2020-12-17 17:36:14 所属栏目:安全 来源:网络整理
导读:我尝试使用angular2发布数据但是当我试图发布时我有400个错误的请求… 在邮递员中进行测试,外行是可以的,我有200并且成功 ? 但是,有了angular2 ? 我有一个400坏请求 我做错了什么?谢谢 ! 我的代码. 服务调用API: userAddReview(paramsObj) { let headers
我尝试使用angular2发布数据但是当我试图发布时我有400个错误的请求…
在邮递员中进行测试,外行是可以的,我有200并且成功

?

但是,有了angular2

?

我有一个400坏请求
我做错了什么?谢谢 !

我的代码.
服务调用API:

userAddReview(paramsObj) {
    let headers = new Headers();
    headers.append('Content-Type','application/json; charset=UTF-8');
    let params = this.util.transformRequest(paramsObj);
    console.log('sending request');
    return this.authHttp.post(this.wpApiURL + '/users-reviews/reviews?' + params,JSON.stringify({}),{ headers: headers })
        .map(
            res => {
                let newReview = res.json();
                this.reviews.push(newReview);
                console.log(this.reviews);
                return newReview;
            }
        );
}

发布组件:

submitReview(form) {
    console.log(this.review,form);
    let params = {
        id: this.review.post,user_id: this.wp.getCurrentAuthorId(),name: this.wp.getCurrentAuthorId(),email: this.wp.getCurrentAuthorId(),title:  this.review.rating_title,description: this.review.rating_comment,rating:     this.review.rating_score,};
    console.log("Review",params);
    this.review.author = this.wp.getCurrentAuthorId();
    this.wp.userAddReview(params)
            .subscribe(
                data => {
                    this.statusMessage = "Review added successfully!";
                    //clear form
                    form.reset();
                },error => {
                    console.log(error._body);
                    this.statusMessage = error._body;
                }
    );

模板:

<form name="reviewForm" #reviewForm="ngForm" novalidate *ngIf="showPanel()">
    <div *ngIf="!reviewText.valid && (reviewText.dirty || reviewText.touched)" class="alert alert-danger padding">review is required</div>

    <div class="padding">{{statusMessage}}</div>
    <ion-input type="text" [(ngModel)]="review.rating_score" #reviewScore="ngModel" name="reviewScore" placeholder="enter your review score..." required></ion-input>
    <ion-input type="text" [(ngModel)]="review.rating_title" #reviewTitle="ngModel" name="reviewTitle" placeholder="enter your review title..." required></ion-input>
    <ion-textarea
        [(ngModel)]="review.rating_comment"
        #reviewText="ngModel"
        name="reviewText"
        type="text"
        rows="2"
        placeholder="enter your review..."
        required
        >
    </ion-textarea>

    <ion-grid>
        <ion-row>
            <ion-col *ngIf="!isEditMode"><button ion-button block (click)="submitReview(reviewForm)" [disabled]="!reviewForm.valid">Add</button></ion-col>
            <ion-col *ngIf="isEditMode"><button ion-button block (click)="updateReview(reviewForm)" [disabled]="!reviewForm.valid">Update</button></ion-col>
            <ion-col width-33><button ion-button block (click)="onCancel()">Cancel</button></ion-col>
        </ion-row>
    </ion-grid>

</form>

<p *ngIf="!showPanel() && auth.authenticated()" (click)="isEditing = true;">Add Review</p>
<p *ngIf="!auth.authenticated()" (click)="reviewFormNotAuthClicked()">Add Review (login required)</p>

解决方法

克里斯发送params和标题,下面是代码

let url= `${this.wpApiURLl}users-reviews/reviews`;
  let params = new URLSearchParams;
  params.append('id',id);
  params.append('user_id',user_id);
 return this.authHttp.post( url,{ headers:headers,search:params })
.map(
            res => {
                let newReview = res.json();
                this.reviews.push(newReview);
                console.log(this.reviews);
                return newReview;
            }
        );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读