简体   繁体   中英

How to get HTTP StatusCodes in ember-data

When I invoke

 App.store.createRecord(App.User,  { name: this.get("name") });
 App.store.commit();

how do I know if its successful and how to wait for the asyn message?

Very limited error handling was recently added to DS.RESTAdapter in ember-data master.

When creating or updating records (with bulk commit disabled) and a status code between 400 and 599 is returned, the following will happen:

  • A 422 Unprocessable Entity will transition the record to the "invalid" state and will add any errors returned from the server to the record's errors property.

    The adapter assumes the server will respond with JSON in the following format:

     { errors: { name: ["can't be blank"], password: ["must be at least 8 characters", "must contain a number"] { } 

    (The error messages themselves could be arrays of strings or just strings. ember-data doesn't currently care which.)

    To detect this state:

     record.get('isValid') === false 
  • All other status codes will transition the record to the "error" state.

    To detect this state, use:

     record.get('isError') === true 

More cases may eventually be handled by ember-data out of the box, but for the moment if you need something specific, you'll have to extend DS.RESTAdapter , customizing its didError function to add it in yourself.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM