Post 'x-www-form-urlencoded' content with aurelia-fetch-client

后端 未结 2 735
眼角桃花
眼角桃花 2021-01-14 12:37

The question is simple: how do I post x-www-form-urlencoded content with Aurelia Fetch client?

I need to make the post to a simple ASP.NET Web API serve

2条回答
  •  孤街浪徒
    2021-01-14 12:50

    The aurelia-fetch-client is built on Fetch specification, and it seems that Fetch always sends FormData as Content-Type: multipart/form-data.

    To get around this, you have to convert the parameters to a query string and then set the content-type to x-www-form-urlenconed. You can use jQuery or a custom function to convert the object to a query string. Like this:

    //jQuery.param returns something like ?param=1¶m2=2 and so on
    //params = a plain javascript object that contains the parameters to be sent
    this.http.fetch(url, {
      body: $.param(params),
      method: 'post',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    })
    .then(response => response.json())
    .then(response => { 
       //your magic here
    });
    

    Not a good solution, I know, but that's the easiest way I found so far.

提交回复
热议问题