Javascript 获取Node.js以获取用户';是从HTML文本字段输入的吗?

Javascript 获取Node.js以获取用户';是从HTML文本字段输入的吗?,javascript,ajax,node.js,Javascript,Ajax,Node.js,我一直在尝试制作一个简单的游戏,用户可以将自己的高分提交到Node.js服务器。我只是想做一些非常简单的事情,但似乎在网上找不到多少帮助 目前,我已经有了使用AJAX连接和响应服务器的主页 以下是HTML: <div id="test"></div> <h3>Upload your high-score:</h3> Your score: <input type="text" name="yourScore"> <button

我一直在尝试制作一个简单的游戏,用户可以将自己的高分提交到Node.js服务器。我只是想做一些非常简单的事情,但似乎在网上找不到多少帮助

目前,我已经有了使用AJAX连接和响应服务器的主页

以下是HTML:

<div id="test"></div> 
<h3>Upload your high-score:</h3>
Your score: <input type="text" name="yourScore">
<button id="SubmitBtn" type="submit">Submit</button>

是的,如果有人知道如何让我的Node.js服务器读取“yourScore”文本字段中的数据,并在单击“SubmitBtn”按钮将数据发送到服务器时,我将非常感谢

您需要向服务器发送帖子,请签出

在脚本中:

$.ajax({
    type: "POST",
    data: {
        yourScore: $('input[name="yourScore"]').val()
    }, 
    //other parameters
在你的服务器上

http.createServer(
   //...
   if (req.method == 'POST'){
      console.log(req.body.yourScore)
弗斯特 您没有随AJAX请求发送任何数据

可能的解决方案(最好是使用
ID
或序列化
表单
元素来获取分数
输入
元素):

第二 在NodeJS请求处理程序中,您可以使用请求对象获取发送的数据

可能的解决办法:

var http = require('http'); 
http.createServer(function (req, res) {
      var score = req.body.score;
      console.log(score);
      //do whatever you want
      res.writeHead(200, {'Content-Type': 'text/plain'}); 
      res.end('_testcb(\'{"message": "Welcome! Node.js Responding!"}\')'); 
}).listen(80); 

您好,谢谢您的回答,但是当使用您建议的添加代码运行Node.js服务器时,我遇到了一个问题,错误如下:ReferenceError:request未在Object中定义。(C:\Users\Mike\SnakeServer.js:2:13)在Module.处编译(Module.js:456:26)在Object.Module.处扩展..js(Module.js:474:10)在Function.Module.处加载(Module.js:356:32)在Function.Module.runMain(Module.js:497:10)处加载(Module.js:119:16)在node.js:901:3,你知道如何解决这个问题吗?Thanks@Mike它有一个错误。将请求更改为请求。再次查看我的答案。您好,感谢您的回复,但当我将其更改为“var score=req.body.score”时,它会显示“无法读取未定义的属性‘score’”,即使输入文本字段的“name”和“ID”属性都称为“score”。。有什么想法吗?感谢您在此范围内
http.createServer(函数(req,res){})请求正文。检查您的代码,看看您是否缺少一些东西您正在使用connect的bodyParser中间件吗?您需要它具有可用的
request.body
对象。如果没有,您需要自己使用('data',function(chunk){})来解析数据
http.createServer(
   //...
   if (req.method == 'POST'){
      console.log(req.body.yourScore)
$.ajax({ 
    url: 'http://localhost',
    data: { score : $("input[name='score']").val() },
    dataType: "jsonp", 
    jsonpCallback: "_testcb", 
    cache: false, 
    timeout: 5000, 
    success: function(data) { 
        $("#test").append(data); 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
        alert('Error connecting to the Node.js server... ' + textStatus + " " + errorThrown); 
    } 
});
var http = require('http'); 
http.createServer(function (req, res) {
      var score = req.body.score;
      console.log(score);
      //do whatever you want
      res.writeHead(200, {'Content-Type': 'text/plain'}); 
      res.end('_testcb(\'{"message": "Welcome! Node.js Responding!"}\')'); 
}).listen(80);