How to catch error when call ajax request to server

Hi all, i using ajaxSource to get data from server,
var kind = require('enyo/kind'), Model = require('enyo/Model'), AjaxSource = require('enyo/AjaxSource'); new AjaxSource({name: 'ajax'}); var MycontactCollection = kind({ name: 'MyContactCollection', kind: Collection, options: {parse: true}, source: 'ajax', url: 'http://myservice.com/users' parse: function (data) { // incoming data contains {status:..., result:...} return data.result; // returned data contains {[{user_id:..., name:...}, {...}]} } });
I see errored function in enyo.Collection Document but i don't know use it in my collection.
public errored(action, opts, res, source)→ undefined
How to catch error when server error.
Thank you very much.

Comments

  • try sending in a error function in your options block, like:
    options: {parse:true, 
    success: enyo.bind(this, this.successHandler), 
    error: enyo.bind(this, this.errorHandler)}
    (error might need be errored)
  • Thanks @psarin, i solved by set error: true in options property and overide errored function and check errorCode in my view to catch error.

    options:{ parse:true, error: true }, errored:function(){ console.log('loi goi api'); this.set('errorCode',true); },

  • Hmm, sending in an error handler in options should work, and wouldn't require you to overload the builtin error function which updates the internal STATUS.

    Collection.js line 1187
    
    			// we need to check to see if there is an options handler for this error
    			if (opts && opts.error) opts.error(this, action, opts, res, source);
    
  • @psarin I see errored function in collection.js
    errored: function (action, opts, res, source) {..
    But i don't know using it in my custom collection, because i see at least 2 params action, opts past this function
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!