分离Suitelet的POST请求

时间:2016-11-13 05:43:42

标签: javascript post netsuite suitescript

我的目标是将自定义“提交”按钮附加到向外部服务器发送发布请求的Suitelet。我遇到的问题是,在呈现页面时,send()中的自定义按钮中的函数form.addButton('submit','Submit', send(form));在页面加载时正在运行。因此,没有数据被发送到send()函数,因此无法正确处理。

根据我的理解,此问题与原始POST请求呈现Suitelet,然后干扰我要发送的POST请求有关。 我需要做的是分离或区分呈现表单的POST请求和发送表单的表单。理想的做法是在用户事件脚本中完成此操作,但表单只能在SS1.0中的Suitelet中使用...

这有可能吗?我应该使用SuiteScript 2.0来实现这一目标吗? 以下是我的代码的外观:

function main(request, response){
        var form = nlapiCreateForm('Submission Form');
        form.addField('one', 'text', 'Field 1');
        response.writePage(form);
        form.addButton('submit','Submit', send(form));      
}

function send(form){ process form data somewhere... }

1 个答案:

答案 0 :(得分:3)

当您在Suitelet上执行发送(表单)时,您实际上正在运行该功能。 form.addButton方法第3个参数接受一个字符串,所以你想做类似

的事情

form.addButton('submit','Submit', "alert('Sending form')")

如果你想构建自己的POST,你可以添加一个完整的字符串化函数,虽然我认为只包含一个form.addSubmitButton(label)会更容易,并将表单数据发送到同一个Suitelet并从那里开始可以使用nlapiRequestURL

通过POST发送该数据