2012-08-17 46 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中间磨损。