javascript - 通过ajax发送数据并在node js服务器上获取

标签 javascript jquery ajax node.js

我想将 2 个变量发送到 Node js 服务器。我知道如何用一个来做到这一点...但是如果我想发送两个数据,这两个数据可以在 Node 中单独读取然后写入xml文件,我使用的方法不起作用。

http.createServer(function (req, res) {
if (req.method === "POST") {
    req.on('data', function (data) {
        requestData += data;
        console.log(data.toString());
        fs.appendFile('name.xml','<XML>' +  data + '\n</XML>', function (err) {

    });

});

}

这是我如何从 ajax 调用获取数据的 Node js 代码示例。

var info2value = $('#edittocatch').val();
var colorvalue = $('#catchColor').val();
 $.ajax({
                type: "POST",
                url: 'http://127.0.0.1:5073/',
                data:  info2value

            });

现在我应该怎么做才能发送 data2 data3 等?

最佳答案

使用对象作为 Ajax 数据属性的值,添加变量作为属性值:

$.ajax({
  type: "POST",
  url: 'http://127.0.0.1:5073/',
  data: { info2value: info2value, colorvalue: colorvalue }
});

对于 NodeJS,您可以使用 urlquerystring将 URL 解析为可以使用通常的点表示法访问的对象。

var url = require('url');
var querystring = require('querystring');

http.createServer(function (req, res) {
  var urlObj = url.parse(req.url);
  var qs = querystring.parse(urlObj.query)

  // access the URL parameters with dot notation eg: qs.infoValue2
});

url.parse 会给你类似的东西:

{ protocol: 'http:',
  slashes: true,
  auth: null,
  host: '127.0.0.1:5073',
  port: '5073',
  hostname: '127.0.0.1',
  hash: null,
  search: '?info2value=moose&colorvalue=red',
  query: 'info2value=moose&colorvalue=red',
  pathname: '/',
  path: '/?info2value=moose&colorvalue=red',
  href: 'http://127.0.0.1:5073/?info2value=moose&colorvalue=red' }

从该对象的 query 属性上的 querystring.parse 将为您提供:

{ info2value: 'moose', colorvalue: 'red' }

关于javascript - 通过ajax发送数据并在node js服务器上获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850310/

相关文章:

javascript - 如何使这个大的 if 语句在 JavaScript 中更具可读性

javascript - $ 与 jQuery : Which should I use?

javascript - 尽管调用了 off() ,事件仍在继续处理

javascript - 使用ajax和php上传多个文件

asp.net - 在 ASP.NET UpdatePanel 中使用 jquery 布局

javascript - 在 React/React Native 中配置包

javascript - 重用在 Controller 之间定义的功能

php - Facebook SDK : Shared login between PHP and Javascript

jquery - 未应用自动完成

jquery - MVC 中的 Ajax POST 返回 null