Выполните асинхронный запрос к серверу
Используйте метод POST, чтобы выполнить асинхронный запрос к серверу. Во время асинхронного выполнения этот шаг является обычно первым в процессе.
POST
http://host:port/deployedArchiveName/matlabFunctionName
| Имя | Описание | Тип значения |
|---|---|---|
mode | (Требуемый). Задайте режим коммуникации. |
|
client | (Необязательно). Задайте ID или имя для клиента, выполняющего запрос. |
|
Пример:
?mode=async&client=Nor101
application/json
| Имя | Описание | Тип значения |
|---|---|---|
nargout | Количество выходных параметров, которые клиентское приложение запрашивает от развернутой функции MATLAB®. Обратите внимание на то, что функции MATLAB, в зависимости от их намеченной цели, может быть закодирован, чтобы возвратить несколько выходных параметров. Подмножество этих потенциальных выходных параметров может быть задано с помощью | number |
rhs | Входные параметры к развернутой функции MATLAB, заданной как массив разделенных от запятой значений. | [arg1,arg2,arg3,...] |
outputFormat | Задайте, должен ли выходной параметр MATLAB в ответе быть возвращен с помощью большого или маленького представления JSON, и должны ли | { "mode" : "small | large", "nanInfFormat" : "string | object" } |
Пример:
Один входной параметр:
{
"nargout": 1,
"rhs": [5],
"outputFormat" : { "mode" : "small,"nanInfFormat": "object"}
}{
"nargout": 2,
"rhs": [3, 4, 5 ...],
"outputFormat" : { "mode" : large", "nanInfFormat" : "string" }
}201 Created
| Имя | Описание | Тип значения |
|---|---|---|
id | ID конкретного запроса. | {id-string} |
self | URI конкретного запроса. | {request-uri-string} |
up | URI набора запросов, связанных к конкретному клиенту. | {request-collection-uri-string} |
lastModifiedSeq | Номер, указывающий, когда запрос, представленный self, был в последний раз изменен. | {server-state-number} |
state | Состояние запроса. | {request-state-string}Список состояний: READING IN_QUEUE PROCESSING READY ERROR CANCELLED |
client | Клиентский ID/имя, который был задан как параметр запроса при инициировании запроса. | {client-id-string} |
Пример:
{
"id": "a061c723-4724-42a0-b405-329cb8c373d6",
"self": "/~e4a954fd-5eaf-4b54-aac2-20681b33d075/requests/a061c723-4724-42a0-b405-329cb8c373d6",
"up": "/~e4a954fd-5eaf-4b54-aac2-20681b33d075/requests",
"lastModifiedSeq": 6,
"state": "READING",
"client": ""
} |
404 ResourceNotFound
405 MethodNotAllowed — Никакой заголовок 'Access-Control-Allow-Origin'. Включите CORS на сервере.
415 InvalidContentType
415 UnsupportedMediaType
Запрос: POST /mymagic/mymagic?mode=async HTTP/1.1
Host: localhost:9910
Content-Type: application/json
{"rhs":[7],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}Ответ: Status Code: 201 Created
Header:
Location: /~e4a954fd-5eaf-4b54-aac2-20681b33d075/requests/ad2363f3-26c1-4d48-88f8-6b7fb615f254
X-MPS-Start-Time: 003472d705bd1cd2
Content-Length: 248
Body:
{
"id": "ad2363f3-26c1-4d48-88f8-6b7fb615f254",
"self": "/~e4a954fd-5eaf-4b54-aac2-20681b33d075/requests/ad2363f3-26c1-4d48-88f8-6b7fb615f254",
"up": "/~e4a954fd-5eaf-4b54-aac2-20681b33d075/requests",
"lastModifiedSeq": 41,
"state": "READING",
"client": ""
} |
var data = JSON.stringify(
{ "rhs": [7],
"nargout": 1,
"outputFormat": {"mode": "small","nanType": "string"}
}
);
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:9910/mymagic/mymagic?mode=async");
xhr.setRequestHeader("content-type", "application/json");
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.send(data); |
Запрос DELETE | Представление GET асинхронного запроса | Запрос отмены POST