J'ai eu une erreur à partir d'une requête PUT. Mais j'ai trouvé que cela pouvait fonctionner sans l'option d'en-tête.
La requête avec des options d'en-tête ressemble à ceci :
'use strict';
var request = require("request");
request({
method: 'PUT',
uri: 'http://v2.openapi.ele.me/restaurant/62028381/order_mode/?consumer_key=0170804777&sig=bc8b56be4f9d33942eb22bd66ab1f2a49eea91f4×tamp=1465890208',
body: {
order_mode: 1
},
json: true,
headers: {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
}, (err, response, body) => {
console.log(body);
});
Et l'erreur est :
/Users/keller/xfxb/brownie/node_modules/request/lib/querystring.js:44
return str.replace(/[!'()*]/g, function (c) {
^
TypeError: str.replace is not a function
at Querystring.rfc3986 (/Users/keller/xfxb/brownie/node_modules/request/lib/querystring.js:44:14)
at Request.json (/Users/keller/xfxb/brownie/node_modules/request/request.js:1201:30)
at Request.init (/Users/keller/xfxb/brownie/node_modules/request/request.js:421:10)
at new Request (/Users/keller/xfxb/brownie/node_modules/request/request.js:142:8)
at request (/Users/keller/xfxb/brownie/node_modules/request/index.js:55:10)
Y a-t-il un problème avec mon option d'en-tête ou le problème vient-il du module ?
Essayez form
au lieu de body
form: {
order_mode: 1
},
J'ai la même erreur. il essaie de string.replace sur un objet, lors de l'utilisation de Body, mais les en-têtes sont définis sur FormData. C'est donc un mélange de types de données
set ' useQuerystring ' : faux dans reqOptions :
'utiliser strictement';
var requête = require("requête");
demande({
méthode : 'PUT',
uri : 'http://v2.openapi.ele.me/restaurant/62028381/order_mode/?consumer_key=0170804777&sig=bc8b56be4f9d33942eb22bd66ab1f2a49eea91f4×tamp=1465890208',
corps: {
mode_commande : 1
},
json : vrai,
useQuerystring : faux,
en-têtes : {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
}, (erreur, réponse, corps) => {
console.log(corps);
});
Ce problème a été automatiquement marqué comme obsolète, car il n'a pas eu d'activité récente. Il sera fermé s'il n'y a plus d'activité. Merci pour vos contributions.
Commentaire le plus utile
Essayez
form
au lieu debody