Ich habe einen Fehler von einer PUT-Anforderung erhalten. Aber ich habe festgestellt, dass es ohne die Header-Option funktionieren kann.
Die Anfrage mit Header-Optionen sieht so aus:
'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);
});
Und der Fehler ist:
/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)
Gibt es ein Problem mit meiner Header-Option oder liegt das Problem am Modul?
Versuchen Sie form
statt body
form: {
order_mode: 1
},
Ich bekomme den gleichen Fehler. Es versucht, ein Objekt zu string.replace, wenn Body verwendet wird, aber die Header sind auf FormData festgelegt. Es ist also eine Verwechslung von Datentypen
set ' useQuerystring ': false in reqOptions:
'streng verwenden';
var Anfrage = erfordern ("Anfrage");
Anfrage({
Methode: 'PUT',
uri: 'http://v2.openapi.ele.me/restaurant/62028381/order_mode/?consumer_key=0170804777&sig=bc8b56be4f9d33942eb22bd66ab1f2a49eea91f4×tamp=1465890208',
Karosserie: {
Auftragsmodus: 1
},
json: stimmt,
useQuerystring: false,
Überschriften: {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
}, (Fehler, Antwort, Text) => {
console.log (Körper);
});
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität gab. Es wird geschlossen, wenn keine weiteren Aktivitäten stattfinden. Vielen Dank für Ihre Beiträge.
Hilfreichster Kommentar
Versuchen Sie
form
stattbody