NetSuite:如何发送http请求发送cookie?

时间:2018-03-03 23:16:03

标签: netsuite suitescript suitescript2.0

我需要调用外部API来从SuiteScript文件中获取一些数据,而且我遇到了问题。 GET调用需要使用凭证(基本上,它必须与请求标头中的cookie一起使用)。

如果我从Chrome控制台设置withCredentials = true进行API调用,但是当我使用NetSuite N / https模块进行API调用时 - 通过https.get() - Cookie不会继续请求报头中。

总而言之,我正在寻找一种方法在withCredentials = true电话上设置http.get(),或者能够以某种方式从我的SuiteScript中获取Cookie,以便我可以手动将其设置为呼叫的header选项。

提前感谢您的时间!

2 个答案:

答案 0 :(得分:2)

在get中,传递headers选项并填充标题值。我相信这些是KVP。

答案 1 :(得分:0)

如果您的外部应用程序期望有关登录用户的信息,那么您可能想要做的是XHR请求(jQuery的$ .getJSON将是您最好的选择)。如果您需要将信息传递到服务器端脚本,那么您将使用返回的数据调用您的Suitelet。

后一个例子如下。请注意withCredentials:

$.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: url,
            dataType: "json",
            data: jsonData,
            xhrFields: {
                withCredentials: true
            },
            success: function(response){
                console.log(response);
            },
            error: function(response){
                console.log('error: ' + JSON.stringify(response));
            }
        });