2012-08-17 83 views
1

JSON數據在控制檯未定義的node.js顯示未解析未定義的node.js顯示未解析..JSON數據在控制檯

這裏是HTML代碼:

var jsonObjects = [{id:1, name:"amit"}]; 
jQuery.ajax({ 
     url: 'http://localhost:8081', 
     type: "POST", 
     data: {"id":"1", "name":"amit"}, 
     dataType: "json", 
    success: function(result) { 
    alert("done") 
     } 
}); 

這裏是代碼的NodeJS:

http.createServer(function (request, response) 
{ 
response.writeHead(200, {"Content-Type":"text/plain"}); 
var urlObj = JSON.stringify(response.data, true); 
console.log(urlObj) 
response.end(); 
}).listen(8081); 

回答

1

嘗試使用GET方法而不是Post。試試這個

var jsonObjects = [{id:1, name:"amit"}]; 

$.ajax({ 
type: 'GET', 
url: 'http://localhost:8081', 
data: { 
    jsonData: JSON.stringify(jsonObjects) 
}, 
dataType: 'json', 
complete: function(validationResponse) { 
} 
}); 
+1

感謝Ketan我自己得到了..不要複製我的答案 – Krunal 2012-08-17 11:21:53

+1

var http = require('http'),url = require('url'); var sys = require(「sys」); var url = require(「url」); var queryString = require(「querystring」); http.createServer( 功能(REQ,RES){ //解析請求URL 變種theUrl = url.parse(req.url); VAR queryObj = queryString.parse(theUrl.query); VAR obj = JSON.parse(queryObj.jsonData); console.log(obj [0] .id); } ).listen(8081); – Krunal 2012-08-17 11:27:12

1

數據將保存在請求中,而不是響應,因爲它來自客戶端請求。

如果您使用express來創建您的http服務器,您還需要告訴它使用bodyParser中間磨損。