Чтение параметров sendFormParameters для JS-адаптера

У меня есть вызов javascript WLResourceRequest.POST на стороне клиента. Я пытаюсь прочитать полученные значения на стороне сервера. На стороне сервера я могу читать только "AB".

Код на стороне клиента:

var resourceRequest = new WLResourceRequest("/adapters/AdapterNewGet/getFeed", WLResourceRequest.POST);
var formParameters={"params":"['AB','CD','EF']")};   
resourceRequest.sendFormParameters(formParameters).then(app.onSuccess, app.onFailure);

Боковой код адаптера:

function getFeed(tag) {
    var input = {
        method : 'get',
        returnedContentType : 'xml',
        path : getPath(tag)
    };
    return MFP.Server.invokeHttp(input);
}

Здесь, когда я печатаю JSON.stringify(tag), печатается только «AB». Пожалуйста, дайте мне знать, как получить доступ ко всем переданным значениям из клиентского кода.


person deepak    schedule 07.04.2017    source источник
comment
Вы используете post, но потом get? Что с этим смешиванием? Кроме того, у вас есть дополнительный ) в конце значения для formParameters.   -  person Idan Adar    schedule 08.04.2017
comment
Не работает даже после удаления). Рассмотрим код на стороне адаптера: function getFeed(tag) { return {Value:param=+tag[1]}; //выводит параметр=B }   -  person deepak    schedule 08.04.2017
comment
Не работает даже после удаления). Рассмотрим код на стороне адаптера: function getFeed(tag) { return {Value:param=+tag[1]}; // печатает param=B и tag[0]=A } В MobileFirst Swagger я вижу URL запроса для params ['AB','CD',''EF] следующим образом: localhost:9080/mfp/api/adapters /Тестовый адаптер/   -  person deepak    schedule 08.04.2017
comment
В вашей процедуре адаптера JS: можете ли вы изменить ее на следующий шаблон: функция getFeed (arg1, arg2, arg3), а затем получить параметры   -  person Vivin K    schedule 10.04.2017
comment
Улучшение грамматики   -  person Tamas Rev    schedule 11.04.2017


Ответы (1)


Для адаптера Javascript вам необходимо изменить сигнатуру метода вашей процедуры, чтобы включить параметры, которые вы отправляете.

За

var resourceRequest = new WLResourceRequest("/adapters/AdapterNewGet/getFeed", WLResourceRequest.POST);
var formParameters={"params":"['AB','CD','EF']")};   
resourceRequest.sendFormParameters(formParameters).then(app.onSuccess, app.onFailure);

в своем клиентском коде измените адаптер Javascript на:

function getFeed(arg1,arg2,arg3) {

  MFP.Loggerinfo(arg1);
  MFP.Loggerinfo(arg2);
  MFP.Loggerinfo(arg3);
  .....

  return MFP.Server.invokeHttp(input);
}
person Vivin K    schedule 10.04.2017