我们可以通过使用Portal Web API在Portal页面中跨所有Microsoft Dataverse表执行创建、更新和删除操作,下面我们就一起来看一下如何通过使用AJAX函数来进行操作。
AJAX函数:
(function(webapi, $){ function safeAjax(ajaxOptions) { var deferredAjax = $.Deferred(); shell.getTokenDeferred().done(function (token) { // add headers for AJAX if (!ajaxOptions.headers) { $.extend(ajaxOptions, { headers: { "__RequestVerificationToken": token } }); } else { ajaxOptions.headers["__RequestVerificationToken"] = token; } $.ajax(ajaxOptions) .done(function(data, textStatus, jqXHR) { validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve); }).fail(deferredAjax.reject); //AJAX }).fail(function () { deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args }); return deferredAjax.promise(); } webapi.safeAjax = safeAjax; })(window.webapi = window.webapi || {}, jQuery)
在表中创建记录:
webapi.safeAjax({ type: "POST", url: "/_api/accounts", contentType: "application/json", data: JSON.stringify({ "name": "Sample Account" }), success: function (res, status, xhr) { //print id of newly created table record console.log("entityID: "+ xhr.getResponseHeader("entityid")) } });
在表中更新记录:
webapi.safeAjax({ type: "PATCH", url: "/_api/accounts(00000000-0000-0000-0000-000000000001)", contentType: "application/json", data: JSON.stringify({ "name": "Sample Account - Updated" }), success: function (res) { console.log(res); } });
在表中删除记录:
webapi.safeAjax({ type: "DELETE", url: "/_api/accounts(00000000-0000-0000-0000-000000000001)", contentType: "application/json", success: function (res) { console.log(res); } });