PUTリクエストからエラーが発生しましたが、ヘッダーオプションがなくても機能することがわかりました。
ヘッダーオプション付きのリクエストは次のようになります。
'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);
});
そして、エラーは次のとおりです。
/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)
ヘッダーオプションに問題がありますか、それともモジュールに問題がありますか?
$#$ body
form
を試してください
form: {
order_mode: 1
},
同じエラーが発生します。 Bodyを使用している場合、オブジェクトでstring.replaceを実行しようとしますが、ヘッダーはFormDataに設定されます。 つまり、データ型の取り違えです
set'useQuerystring ':reqOptionsでfalse :
'厳密に使用';
var request = require( "request");
リクエスト({
メソッド: 'PUT'、
uri: 'http://v2.openapi.ele.me/restaurant/62028381/order_mode/?consumer_key = 0170804777&sig = bc8b56be4f9d33942eb22bd66ab1f2a49eea91f4&timestamp = 1465890208'、
体: {
order_mode:1
}、
json:本当、
useQuerystring:false、
ヘッダー:{
"Content-Type": "application / x-www-form-urlencoded; charset = UTF-8"
}、
}、(err、response、body)=> {
console.log(body);
});
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。
最も参考になるコメント
$#$
body
form
を試してください