Как сделать POST в Suitelet с помощью пользовательской кнопки? - PullRequest
0 голосов
/ 21 января 2020

В основном у меня есть Suitelet с двумя кнопками:

1 addSubmitButton 1 addButton

Я бы хотел, чтобы кнопка добавления перенаправлялась в контекст POST вместе с его данными.

До сих пор я использовал resolURL и https.post.promise в клиентском скрипте. Я могу перенаправить на URL с помощью window.open, но не могу передать данные также из метода post.

Вот мой текущий скрипт:

SUITELET:

var btnPrint = formGet.addButton({
    id:'custpage_print_button',
    label: 'Email To Customers',
    functionName:'emailButton('+scriptId +','+deploymentId+')'
});

КЛИЕНТ:

function emailButton(suiteletScriptId,suiteletDeploymentId){
    var suiteletURL = url.resolveScript({
        scriptId : suiteletScriptId,
        deploymentId : suiteletDeploymentId,
    });

    var header=[];
    header['Content-Type']='application/json';
    var postData={'hello':'hi'};

    var response=https.post.promise({
        url: suiteletURL, 
        headers:header,
        body:postData
    });
    alert('response: ' + response.body.toString());
    window.open('"+suiteletURL+"','_blank');
}

1 Ответ

0 голосов
/ 21 января 2020

https.post.promise - это Обещание. Вам нужно что-то с этим сделать, так как это не ServerResponse.

https.post.promise({
        url: suiteletURL, 
        headers:header,
        body:postData
    }).then(function(response){
        if(response && response.body){
            alert('response: ' + response.body.toString());
        }
    }).catch(function(reason){
    });;
...