web-dev-qa-db-ja.com

jQueryリクエストをAxiosに変換する

JQueryで書かれたアプリがあります。私はそれを近代化しようとしています。その一環として、jQueryリクエストをAxiosに変換しようとしています。私のjQueryリクエストは次のようになります:

var myUrl = '[someUrl]';
var myData = {
  firstName: 'Joe',
  lastName: 'Smith'
};

$.ajax({
  type: 'POST', url: myUrl, cache: 'false',
  contentType:'application/json',
  headers: {
    'Content-Type': 'application/json',
    'key': '12345'
  },
  data: JSON.stringify(myData),
  success: onSearchSuccess,
  error: onSearchFailure,
  complete: onSearchComplete
}); 

今、私の最新のコードで、私は次のものを持っています:

var myUrl = '[someUrl]';
var myData = {
  firstName: 'Joe',
  lastName: 'Smith'
};
axios.post(myUrl, myData)
  .then(function (response) {
    alert('yeah!');
    console.log(response);
  })
  .catch(function (error) {
    alert('oops');
    console.log(error);
  })
;

ヘッダーを渡す方法がわからない、またはmyDataを文字列化する必要があるかどうか。誰かが私を正しい方向に向けてくれませんか?

6
Gary

手動 を試しましたか? :)

必要なものは次のとおりです。

axios.post(url [、data [、config]])

これをコードに変換する方法は次のとおりです。

var myUrl = '[someUrl]';
var myData = {
  firstName: 'Joe',
  lastName: 'Smith'
};
axios.post(myUrl, myData, {
    headers: {
      'Content-Type': 'application/json',
      'key': '12345'
    }
    // other configuration there
  })
  .then(function (response) {
    alert('yeah!');
    console.log(response);
  })
  .catch(function (error) {
    alert('oops');
    console.log(error);
  })
;

返されるオブジェクトは A + Promise API を実装します。構成に基づいて、それをポリフィルする必要があるかもしれませんが、 npmレジストリ で利用可能なパッケージがたくさんあります。

5
motanelu