POST синхронный запрос

Выполните синхронный запрос к серверу и ожидайте ответа

Описание

Используйте метод POST, чтобы выполнить синхронный запрос к серверу. В синхронном режиме, когда-то запрос был выполнен, сервер блокирует все дальнейшие запросы, пока это не завершило обработку исходного запроса. Ответ автоматически возвращен, если обработка завершена. Никакие другие методы HTTP не необходимы, чтобы получить ответ из сервера.

Запрос

Метод HTTP

POST

URI

http://host:port/deployedArchiveName/matlabFunctionName

Параметры запроса

'none'.

ContentType

application/json

Тело

ИмяОписаниеТип значения
nargout

Количество выходных параметров, которые клиентское приложение запрашивает от развернутой функции MATLAB®. Обратите внимание на то, что функции MATLAB, в зависимости от их намеченной цели, может быть закодирован, чтобы возвратить несколько выходных параметров. Подмножество этих потенциальных выходных параметров может быть задано с помощью nargout.

number
rhs

Входные параметры к развернутой функции MATLAB, заданной как массив разделенных от запятой значений.

[arg1,arg2,arg3,...]
outputFormat

Задайте, должен ли выходной параметр MATLAB в ответе быть возвращен с помощью большого или маленького представления JSON, и должны ли NaN и Inf быть представлены как строка 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" }
}

Ответ

Успех

Код состояния HTTP

200 OK

Тело

ИмяОписаниеТип значения
lhs

array JSON содержится в ответе с сервера. Каждый элемент array JSON соответствует выводу развернутой функции MATLAB, представленной с помощью обозначения JSON. Для получения дополнительной информации об обозначении JSON см. Представление JSON типов данных MATLAB.

[output1, output2, ...]

Пример:

{
"lhs":[[[17,24,1,8,15],[23,5,7,14,16],[4,6,13,20,22],[10,12,19,21,3],[11,18,25,2,9]]]
}

Ошибка

Код состояния HTTP

400 InvalidJSON

404 FunctionNotFound

404 ComponentNotFound

Демонстрационный вызов

HTTP

Запрос:

POST /mymagic/mymagic HTTP/1.1
Host: localhost:9910 
Content-Type: application/json

{"rhs":[5],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}

Ответ:

Status Code: 200 OK
{
"lhs":[[[17,24,1,8,15],[23,5,7,14,16],[4,6,13,20,22],[10,12,19,21,3],[11,18,25,2,9]]]
}

JavaScript

var data = JSON.stringify({
    "rhs": [5],
    "nargout": 1,
    "outputFormat": {"mode": "small", "nanType": "string"}
});
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
    if (this.readyState === 4) {
        console.log(this.responseText);
    }
});
xhr.open("POST", "http://localhost:9910/mymagic/mymagic");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);

Введенный в R2016a