Axios: 未定義の値が設定されているフィールドがデータオブジェクトから削除されています

作成日 2017年04月23日  ·  3コメント  ·  ソース: axios/axios

axiosバージョン0.16.1
環境:Mac OS Sierra、Chrome v57

現在axios.postを使用していますが、データオブジェクト内にオブジェクトをネストすると、 undefinedの値が設定されているネストされたオブジェクト内のフィールドが削除されたように見えます。

例えば:

  update(locationId, vehicleSaleId, payload) {

    //Payload example: {billedFront: undefined}

    return axios.post('/api/vehicleSale.update', { 
        params: {locationId, vehicleSaleId}, 
        payload: payload
      })
      .then((res) => res.data);
  },


Chrome開発ツール>ネットワーク:

{"params":{"locationId":"58e991ddb051fc0f8424552a","vehicleSaleId":"58fa4d2562fd801765652fc3"},"payload":{}}

ご覧のとおり、ペイロードは単なる空のオブジェクトです。 未定義に設定されているbilledFrontフィールドが必要です。

最も参考になるコメント

これは通常の動作のバグではありません。 JSON.stringifyは、結果のオブジェクトからundefinedプロパティを削除します。

全てのコメント3件

これが修正されるまで、回避策としてnullに設定してみてください。

動作する@sunnykgupta ! 回避策をありがとう:)

これは通常の動作のバグではありません。 JSON.stringifyは、結果のオブジェクトからundefinedプロパティを削除します。

このページは役に立ちましたか?
0 / 5 - 0 評価