2012-04-05 34 views
13

Tôi đang cố gắng sử dụng https://github.com/mikeal/request. Có gì sai với mã của tôi? Thông báo lỗi nằm dưới mã. Trong chương trình của tôi, tôi đang sử dụng nhắnNút yêu cầu HTTP.js bằng cách sử dụng 'yêu cầu' của 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); 
    } 
} 
); 

Lỗi thật của tôi App và Nghỉ ngơi ID:

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) 

Trả lời

39

cơ thể nên là một chuỗi, mảng hoặc đệm. Không phải là một đối tượng.

Nếu bạn muốn gửi json sau đó gửi json

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

Ngoài ra, bạn chỉ có thể thiết lập các thành viên cơ thể để đối tượng json của bạn và thiết lập json param là true . Nó sẽ cố gắng một tuần tự json trên đối tượng cơ thể. –

+1

Đã làm việc, cảm ơn bạn. Điều này nên được đề cập trên trang plugin – bFunc

1

và tôi nghĩ là tốt nhất

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

} 
Các vấn đề liên quan