2012-04-05 12 views
13

Estoy tratando de usar https://github.com/mikeal/request. ¿Qué pasa con mi código? El mensaje de error está bajo el código. En mi programa, yo estoy usando mensajesolicitud HTTP node.js utilizando 'request' de 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 mi verdadera aplicación y resto de Identificación:

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) 

Respuesta

39

cuerpo debe ser una cadena, matriz o tampón. No es un objeto

Si desea enviar JSON luego enviar JSON

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

Como alternativa, puede simplemente establecer el miembro de cuerpo a su objeto JSON y establecer parámetro JSON a la verdadera . Intentará una serialización json en el objeto del cuerpo. –

+1

Funcionó, gracias. Esto debe ser mencionado en la página de complementos – bFunc

1

y creo que la mejor

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

}