CRUD Create
ZingGrid has default behavior for create actions. There are expected inputs and outputs for a create action. You can, of course, extend or override this default behavior.
CRUD Defaults
The default send and return values for CRUD actions are:
Action | Type | Response Codes | Returns | |
---|---|---|---|---|
Success | Error | |||
Create row | POST | 200 - 299 | >= 400 |
Expected Return Contents
|
Read data | GET | 200 - 299 | >= 400 |
Expects a JSON or dataset response. |
Update row | PUT | 200 - 299 | >= 400 |
Response is not read. |
Update cell | PATCH | 200 - 299 | >= 400 |
Response is not read. |
Delete row | DELETE | 200 - 299 | >= 400 |
Response is not read. |
Override Defaults
If you need to override any default create actions, you can use createOptions
to adjust all actions against the initial and subsequent fetches from the grid. You can read more about available createOptions
values here.
Remember, since value
is an HTML attribute, it must be in valid JSON format and stringified.
Here is a list of available createOptions
:
{ // to change the read method of the action to POST "method": "POST", // takes a JSON packet to be sent to the server in place of the action // in this case user_id is always one. "body": {user_id:1}, "requestType": "application/json", "exclude": "", "headers": {"Authorization": "Basic super-secrete-key"}, "mode": "no-cors", "responseType": "", "src": "", "queryString": "" }
The body value can be a static JSON, like so:
<!-- basic create option with static body --> <zg-param name="createOptions" value='{"body": {"user_id":1}}'></zg-param>
The body value can also be a function which returns an object, like so:
<!-- basic create option with function reference for body --> <zg-param name="createOptions" value='{"body": "_fncStringReference"}'></zg-param>
// function returns an object function _fncStringReference(record) { return { // to change the read method of the action to POST method: 'POST', // takes a JSON packet to be sent to the server in place of the action // in this case user_id is always one. body: {user_id:1}, requestType: 'application/json', exclude: '', headers: {"Authorization": "Basic super-secrete-key"}, mode: 'no-cors', responseType: '', src: '', queryString: '' } }
[crud: create]