私はこの 1 週間、これを理解しようとしてきましたが、私が試したことはすべてうまくいかないようです。
リクエストに応答する Web サービスをローカル ボックスに作成する必要があります。クライアント (私が書いたものではありません) は、私のサービスに一度に 1 つの質問をします。これに対して、サーバーは適切な回答を返す必要があります。
だから私がしなければならない最後のことは:
パラメータ'theArray'を使用して場所'/sort'でPOSTリクエストが行われると、配列をソートして文字列以外の値をすべて削除し、結果の値をJSONとして返します。
- theArrayパラメータは文字列化された JSON 配列になります
トレイルとエラーを経て、提供されたパラメーターは次のとおりであることがわかりました。
{"theArray":"[[],\"d\",\"B\",{},\"b\",12,\"A\",\"c\"]"}
これを機能させるために、さまざまなことを試しました。しかし、私が得ることができる最も近いものは、同じものしか返さないか、まったく返さないことです。これは、これらの結果を取得するために使用しているコードです。
case '/sort':
if (req.method == 'POST') {
res.writeHead(200,{
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
});
var fullArr = "";
req.on('data', function(chunk) {
fullArr += chunk;
});
req.on('end', function() {
var query = qs.parse(fullArr);
var strin = qs.stringify(query.theArray)
var jArr = JSON.parse(fullArr);
console.log(jArr); // Returns undefided:1
var par = query.theArray;
console.log(par); // returns [[],"d","B",{},"b",12,"A","c"]
function censor(key) {
if (typeof key == "string") {
return key;
}
return undefined;
}
var jsonString = JSON.stringify(par, censor);
console.log(jsonString); // returns ""
});
res.end();
};
break;
返す必要があるものを明確にするために、["d","B","b","A","c"]
したがって、誰かがこれについて私を助けてくれ、可能であれば、私がコードをセットアップした方法ですでに動作するような方法でセットアップされた、書かれたコードで応答してくれれば、それは素晴らしいことです! ありがとう