How to use POST requests in UI Builder
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-11-2024 10:32 AM - edited 11-11-2024 10:35 AM
First, create a Scripted REST Service (aka Scripted REST API or sys_ws_definition entry).
Within that record, create a Scripted REST Resource (sys_ws_operation) in the Resources related list.
The HTTP Method on that resource should be POST (obviously).
Here's an example script for that resource:
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var gr = new GlideRecord('u_scan_log');
//note that to get your request body data, it's REQUEST.BODY.DATA
var data = request.body.data;
gs.log('data: => ' + JSON.stringify(data), "Paul");
gs.log('response: => ' + JSON.stringify(response), "Paul");
gr.initialize();
gr.u_scan = data.u_serial;
gr.u_message = data.u_message;
gr.insert();
})(request, response);
Now, inside of an UI Builder client script, you can do something like this:
function handler({api, event, helpers, imports}) {
helpers.snHttp("/api/hesi/depot_workstation/addScanLog", {
method: "POST",
// NOTE: you must JSON.stringify() the body.
body: JSON.stringify({u_message: 'this is the message', u_scan: '2983599'}),
})
.then(({ response: { result } }) => {
console.log(`result from UI: ${result}`);
});
}
0 REPLIES 0