2012-04-16 10 views
0

POSTデータを特定のGETデータが提供されている場合にのみ処理するtest.phpファイルにPOSTデータを送信しようとしています。残念ながら私はそれをどうやって行うのか手がかりがありません。約1時間探しています。NodejsでGETパラメータを持つページにPOSTデータを送信

私は現在、この驚くべきもので多くを演奏しているので、どんな助けもありがたいです。

ありがとうございます。

いくつかの明確化:

は、あなたがこのように見えるのindex.phpを持って言う:

<?php 

if (isset($_GET['p'])) 
    echo count($_POST) . ' -- ' . count($_GET); 
else echo 'fuuu'; 

?> 
<form action="?p" method="POST"> 
    <input type="submit" name="lolw" value="Go" /> 
</form> 

あなたはそのフォームを送信した場合、PHPの$_GET$_POSTスーパーグローバルの両方が1つの要素が含まれます。

ここで、nodeJSを介してそのフォームを実行しようとします。ここ

は(単にDOKUから一部cutpastingである)私のテストケースである: 0から2フォームを次に、以下:

var http = require('http'); 

var options = { 
    hostname: 'localhost', 
    port: 80, 
    path: '/test.php?lolw=1&p', 
    method: 'POST' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }).on('error', function (e) { 
    console.log('error in chunk'); 
    }); 
}); 

req.on('error', function(e) { 
    console.log('problem with request: ' + e.toString()); 
}); 

// write data to request body 
req.write('data\n'); 
req.end(); 

CLI出力は、体に与えます。

私のポイントは:のパラメータをGETとPOSTを通じて送信し、GETから送信する必要があるかPOSTから送信する必要があるかを指定できますか?

+1

意味がありません。あなたの質問やポストコードを明確にしてください – ControlAltDel

+0

上記は全く意味がありません。詳しく教える? – PeeHaa

+0

わかりやすくするために編集しました。申し訳ありません。 – Warpten

答えて

2

node.jsでHTTPリクエストを行うには、http.requestを使用する必要があります。メソッドを "POST"に設定しても、URLにパラメータを取得できます。 Content-Lengthヘッダーをデータの長さに設定し、Content-Typeヘッダーをapplication/x-www-form-urlencodedに設定して、「標準」POST要求を行う必要があります。

あなたの質問はかなり曖昧です。特に何かに問題がある場合は、コードを表示してより正確な質問をしてください。

+0

ありがとう、それは私を答えに追いやった! http://stackoverflow.com/questions/6158933/http-post-request-in-node-jsを参照してください。 – Warpten

関連する問題