簡體   English   中英

如何使用 Angular2 POST FromData

[英]How to POST FromData using Angular2

我嘗試使用 Angular2 發送帶有 FormData 的 post 請求。 但是我的網絡服務器什么也沒有,並向我發回錯誤代碼 500。我使用 PostMan util(GoogleChrome 插件)檢查了請求。 我發現只有當我什么都不發送時才能達到 500。

let Form = new FormData();
    Form.append("username", this.username);
    Form.append("password", this.password);

let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');

    this.http.post("/ajax/rest_login",
        Form,
        {headers: headers})
    .map((res: Response) => res.json())
    .subscribe(
            res => console.log(res.text()),
            err => console.log(err),
            () => console.log('done'));

我做錯了什么? 也許您知道發布 FormData 的更好方法

你應該使用URLSearchParams類來做到這一點:

let form = new URLSearchParams();
form.set("username", this.username);
form.set("password", this.password);

let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');

this.http.post("/ajax/rest_login",
    form.toString(),
    {headers: headers})

目前,Angular2 的 HTTP 支持不支持FormData類。

不要忘記導入Headers類:

import {Http,Headers,URLSearchParams} from 'angular/http';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM