2012-04-05 184 views
13

我正在嘗試使用https://github.com/mikeal/request。我的代碼有什麼問題?錯誤消息在代碼中。在我的計劃,我用我的實際應用和休息ID的HTTP請求node.js使用mikeal的'請求'

var request = require('request'); 
request.post({ 
url: 'https://api.parse.com/1/classes/GameScore', 
headers: { 
    "X-Parse-Application-Id": "11111", 
    "X-Parse-REST-API-Key": "222222", 
    "Content-Type": "application/json" 
     }, 
body: { 
    "score": 1337, "playerName": "Sean Plott", "cheatMode": false 
    } 
}, 
function (error, response, body) { 
    if(response.statusCode == 201){ 
    console.log('Status Update'); 
    } else { 
    console.log('error: '+ response.statusCode); 
    console.log(body); 
    } 
} 
); 

錯誤消息:

node.js:134 
    throw e; // process.nextTick error, or 'error' event on first tick 
    ^
Error: Argument error, options.body. 
at Request.init (/mnt/ws/users/$mn/mnort9/165767/node_modules/request/main.js:264:13) 
at new Request (/mnt/ws/users/$mn/mnort9/165767/node_modules/request/main.js:102:8) 
at request (/mnt/ws/users/$mn/mnort9/165767/node_modules/request/main.js:800:11) 
at Function.post (/mnt/ws/users/$mn/mnort9/165767/node_modules/request/main.js:844:10) 
at Object. (/mnt/ws/users/$mn/mnort9/165767/index.js:2:9) 
at Module._compile (module.js:411:26) 
at Object..js (module.js:417:10) 
at Module.load (module.js:343:31) 
at Function._load (module.js:302:12) 
at Array.<anonymous> (module.js:430:10) 

回答

39

機構應當是一個字符串數組或緩衝。不是一個對象。

如果你想發送的JSON然後發送JSON

request({ 
    ..., 
    json: { ... } 
}) 
+4

或者,也可以在主體部件正好被設置爲你的JSON對象和JSON PARAM設置爲true 。它會嘗試對body對象進行json序列化。 – 2015-04-20 22:07:17

+1

工作過,謝謝。這應該在插件頁面上提及 – bFunc 2016-01-25 13:59:46

1

,我認爲最好的

r = npm.request(options, function (error, response, body) { 

if (error) { 
var msg = error.code || 'Error code undefined!'; 
return; 
}; 

//and after 

if((response.statusCode == 200) || (response.statusCode == 201)){ 
} 

}