Search code examples
jsonextjserror-handlingjsonstore

extjs store error handling


I am trying to handle an exception in an Ext.data.Store instance when creating a new Ext.data.Record. When the server responds with the following json:

{"success": false, "message": "some text"}

I get an exception of type 'request', even though the server returns an HTTP 200 Response!

To get a 'remote' error I have to create an object with the root property

({
    "success": false,
    "message": "some text",
    "data": {
        "PositionId": "00000000-0000-0000-0000-000000000000",
        "Name": "123"
    }
})

...but I don't want this. Is there any way to change this behaviour?

Also, when I insert a record in the store, it is automatically added to the associated grid, but if an error occurs it remains there, so I need to reload store on every error. Is there any better way to do this?


Solution

  • Finally, I've found out that if I send back empty data it works as expected. So I don't need to send back any fictional data, my server response is:

    ({
        "success": false,
        "message": "some text",
        "data": {}
    })