2012-04-05 14 views
13

Próbuję użyć https://github.com/mikeal/request. Co jest nie tak z moim kodem? Komunikat o błędzie jest pod kodem. W moim programie używam wiadomośćŻądanie HTTP node.js za pomocą "żądania" 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); 
    } 
} 
); 

Error moją prawdziwą aplikację i rekreacyjne identyfikatorom:

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) 

Odpowiedz

39

ciało powinno być ciągiem znaków, tablicę lub bufor. Nie obiekt.

Jeśli chcesz wysłać json następnie wysłać JSON

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

Alternatywnie, można po prostu ustawić element ciała do obiektu json i ustawić json param true . Spróbuje serializacji json na obiekcie body. –

+1

Pracowałem, dziękuję. To powinno być wspomniane na stronie wtyczki – bFunc

1

i myślę, że najlepiej

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)){ 
} 

} 
Powiązane problemy