我应该如何将代码从XHR转换为Vue-Resource?

时间:2018-08-07 09:39:59

标签: vue.js xmlhttprequest vue-resource

我想将XHR中的代码转换为Vue-Resource请求。

XHR:

var data = "channel=default";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "url");
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");

xhr.send(data);

这是我在Vue-Resource中的代码,但出现错误:

this.$http.post(
        'url',
        {
          headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
          body: 'channel=default'
        }
      ).then(response => {
          console.log(response.body);
      }, error => {
          console.error(error);
      });

我不确定我的vue代码有什么问题。我需要在主体参数中传递channel?default

1 个答案:

答案 0 :(得分:1)

您可以将data作为second参数传递给.post方法。

必须为JSON格式。

this.$http.post(
    'url',
    { channel: 'default'},
    {
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }
).then(response => {
    console.log(response.body);
}, error => {
    console.error(error);
});