web-dev-qa-db-ja.com

配列データをformdataとして送信する方法angular 4

サーバーに送信されていないデータの配列を投稿しようとしました:

ウェブサービス:

 deleteCategory() {
    return  this.http.post('http://www.demo/webapi/deletecategory', { 
        headers: {
          "Authorization": "Token " + this.token,
          "Content-Type": "application/x-www-form-urlencoded"
        },
        withCredentials: true
      }
      )
    }

tsファイルで

onDelete() {
      this.userService.deleteCategory().subscribe(response => {
      this.selectedArray = [];
     for (var i = 0; i< this.selection._selected.length; i++){
     this.selectedArray.Push(this.selection._selected[i].category_id) ;
     console.log(' selected value:', this.selectedArray);

     }
    })
      }

hTMLで

<button class="btn-danger pull-right" (click)="onDelete()" type="button"  >Delete</button>
4
linto johny

FormDataオブジェクトを作成し、このオブジェクトに配列を追加する必要があります。のように見えます

function createFormData(yourArray) {
  const fd = new FormData();
  fd.append(
    'keyName',
     new Blob( [ JSON.stringify( yourArray ) ], { type : 'application/json' } ) );
  return fd;
}
1
Mixalloff