Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在请求节点js库中传递cookie_Javascript_Node.js_Http - Fatal编程技术网

Javascript 如何在请求节点js库中传递cookie

Javascript 如何在请求节点js库中传递cookie,javascript,node.js,http,Javascript,Node.js,Http,我目前正在使用一个请求来调用HTTP请求 很好用。我的问题是如何传递饼干 这是我做的代码 export function triggerSimpleAjax( url, type = 'POST', req_data, onSuccess, onFailure, headers = { 'Content-Type': 'application/json' } ) { const request = require("request"); const

我目前正在使用一个请求来调用HTTP请求

很好用。我的问题是如何传递饼干

这是我做的代码

 export function triggerSimpleAjax(
  url,
  type = 'POST',
  req_data,
  onSuccess,
  onFailure,
  headers = {
    'Content-Type': 'application/json'
  }
) {
  const request = require("request");
  const jar = request.jar();
  const cookie = request.cookie("name=John");
  jar.add(cookie);
  let options = {
    url: url,
    method: type.toUpperCase(),
    headers: headers,
    json: req_data
  }

  // console.log('********************************** API Starts here **********************************');
  request(options, (error, response, body) => {
    if (!error && response.statusCode == 200) {
      onSuccess(response.body);
    } else {
      if (typeof onFailure === 'function') onFailure(response.body);
    }
  })
}

您可以创建一个cookiejar并将cookie添加到其中,然后将其与请求一起发送

const request = require("request");
const jar = request.jar();
const cookie = request.cookie("name=John");

//Doesn't work anymore jar.add(cookie);
jar.setCookie(....);
request({
  uri: "...",
  method: "...",
  jar: jar
}, function(error, response, body) {
  console.log(body);
});
主要编辑:

请求现在使用,因此语法为:

jar.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))
还有一个同步对应项:

.setCookieSynccookieOrString,当前URL,[{options}] 同步版本的setCookie;仅适用于同步存储,例如默认的MemoryCookieStore


那个是我尝试过的,但jar.add显示为未定义