|
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
-
- define(['jquery', 'mage/url'], function ($, urlBuilder) {
- 'use strict';
-
- return {
- /**
- * Perform asynchronous GET request to server.
- * @param {String} url
- * @param {Boolean} global
- * @param {String} contentType
- * @param {Object} headers
- * @returns {Deferred}
- */
- get: function (url, global, contentType, headers) {
- headers = headers || {};
- global = global === undefined ? true : global;
- contentType = contentType || 'application/json';
-
- return $.ajax({
- url: urlBuilder.build(url),
- type: 'GET',
- global: global,
- contentType: contentType,
- headers: headers
- });
- },
-
- /**
- * Perform asynchronous POST request to server.
- * @param {String} url
- * @param {String} data
- * @param {Boolean} global
- * @param {String} contentType
- * @param {Object} headers
- * @returns {Deferred}
- */
- post: function (url, data, global, contentType, headers) {
- headers = headers || {};
- global = global === undefined ? true : global;
- contentType = contentType || 'application/json';
-
- return $.ajax({
- url: urlBuilder.build(url),
- type: 'POST',
- data: data,
- global: global,
- contentType: contentType,
- headers: headers
- });
- },
-
- /**
- * Perform asynchronous PUT request to server.
- * @param {String} url
- * @param {String} data
- * @param {Boolean} global
- * @param {String} contentType
- * @param {Object} headers
- * @returns {Deferred}
- */
- put: function (url, data, global, contentType, headers) {
- var ajaxSettings = {};
-
- headers = headers || {};
- global = global === undefined ? true : global;
- contentType = contentType || 'application/json';
- ajaxSettings.url = urlBuilder.build(url);
- ajaxSettings.type = 'PUT';
- ajaxSettings.data = data;
- ajaxSettings.global = global;
- ajaxSettings.contentType = contentType;
- ajaxSettings.headers = headers;
-
- return $.ajax(ajaxSettings);
- },
-
- /**
- * Perform asynchronous DELETE request to server.
- * @param {String} url
- * @param {Boolean} global
- * @param {String} contentType
- * @param {Object} headers
- * @returns {Deferred}
- */
- delete: function (url, global, contentType, headers) {
- headers = headers || {};
- global = global === undefined ? true : global;
- contentType = contentType || 'application/json';
-
- return $.ajax({
- url: urlBuilder.build(url),
- type: 'DELETE',
- global: global,
- contentType: contentType,
- headers: headers
- });
- }
- };
- });
|