【问题标题】:Error in parsing JSON in Nodejs from Posted data从 Posted 数据解析 Nodejs 中的 JSON 时出错
【发布时间】:2023-03-21 14:40:01
【问题描述】:

我已经使用这个 jquery ajax 代码来传递 JSON:

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

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

我已经使用这个节点js代码来解析JSON数据:

http.createServer(function (request, response) {
response.writeHeader(200, {
    "Content-Type": "text/plain"
});
 response.writeHead(200, {"Content-Type":"text/plain"});

  var theUrl = url.parse(request.url);
  var queryObj = queryString.parse( theUrl.query );
  var obj = JSON.parse( queryObj.jsonData);
  console.log(obj[0].id)
 response.write(String(obj[0].id))
   response.end();
}).listen(8080,'127.0.0.1');    

但它在控制台中显示以下错误:

undefined:1
rn┴P║Eee
^
SyntaxError: Unexpected token u
at Object.parse (native)
at Server.<anonymous> (C:\node\nodejs\node_modules\17-8-12\tracker.js:79:22)

at Server.emit (events.js:70:17)
at HTTPParser.onIncoming (http.js:1610:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:91:29)

at Socket.ondata (http.js:1506:22)
at TCP.onread (net.js:374:27)

然后代码停止..

【问题讨论】:

    标签: json node.js jquery http-headers


    【解决方案1】:

    本节:

    response.writeHeader(200, {
      "Content-Type": "text/plain"
    });
    response.writeHead(200, {"Content-Type":"text/plain"});
    

    似乎是乱码:那是你的真实代码吗?如果是这样,请删除前三行。如果还是不行,先console.logrequest.url,再queryObj.jsonData看看是否合理。

    【讨论】:

      【解决方案2】:

      这不是您问题的直接答案,但我建议您查看 ExpressbodyParser 中间件。

      你可以这样做:

      var express = require('express');
      var app = express();
      
      app.get('/', function(req, res){
        console.log(req.query.jsonData);
        res.send('return data here');
      });
      
      app.listen(8080);
      

      【讨论】:

      • GET 请求没有正文,所以发帖人的做法是正确的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多