我想发送让2个变量给节点js服务器。我知道如何用一个...但如果我想发送两个数据,可以在节点中单独读取然后写入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) {
});
});
}
这是节点js代码示例我如何从ajax调用获取数据。
var info2value = $('#edittocatch').val();
var colorvalue = $('#catchColor').val();
$.ajax({
type: "POST",
url: 'http://127.0.0.1:5073/',
data: info2value
});
现在我该怎么做才能发送data2 data3等?
答案 0 :(得分:1)
使用对象作为Ajax数据属性的值,将变量添加为属性值:
$.ajax({
type: "POST",
url: 'http://127.0.0.1:5073/',
data: { info2value: info2value, colorvalue: colorvalue }
});
对于NodeJS,您可以使用url
和querystring
将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' }
然后该对象的querystring.parse
属性上的query
会给你:
{ info2value: 'moose', colorvalue: 'red' }
答案 1 :(得分:0)
好的,我用Data.split(“”)处理它。它创建了带有单独字符串的数组。