2014-09-15 2 views
0

노드 js 서버에 2 개의 변수를 보냅니다. 나는 하나와 그것을하는 방법을 안다 ...하지만 만약 내가 별도로 노드에서 읽을 수있는 다음 XML 파일에 쓰여진 두 개의 데이터를 보내고 싶지 않았 나던 방법을 사용합니다. 노드 JS 코드 샘플을했다아약스를 통해 데이터를 보내 노드 js 서버에서 가져 오기

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) { 

    }); 

}); 

은} 나는 아약스 호출에서 데이터를 가져 오는 방법에 대해 설명합니다.

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

      }); 

이제 데이터 2 데이터 3을 보내려면 어떻게해야합니까?

+0

키/값 쌍으로 데이터를 전송해야합니다. – charlietfl

답변

1

속성 값으로 변수를 추가, 아약스 데이터 속성의 값으로 객체를 사용하여 객체에 URL을 구문 분석

$.ajax({ 
    type: "POST", 
    url: 'http://127.0.0.1:5073/', 
    data: { info2value: info2value, colorvalue: colorvalue } 
}); 
당신이 url을 사용 NodeJS에 관해서는

querystring 당신이 할 수있는 일반적인 도트 표기법으로 액세스하십시오.

{ 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 재산에에서

당신에게 줄 것이다 :

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 당신에게 뭔가를 줄 것이다

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

하지만 node.js에서는 어떻게 가져 옵니까? 그것은 실제로 주요한 문제입니다 ... – user3586498

+0

어떤 nodeJS를 실행 한 이후로 꽤 오랜 시간이 걸렸습니다. 그러나 이것은 아마도 여러분이 필요로하는 것을 할 것입니다. – Andy

0

좋아, 나는 데이터로 취급했다. split (""). 별도의 문자열을 사용하여 배열을 만듭니다.

관련 문제