2017-07-27 4 views
1

私はカールで要求を行う方法ですNode.jsの中に、この特定のHTTPパッチ要求を行うことができません。私はjQuery.ajaxを使ってクライアント側でも同じことをすることができますが、サーバ側でそれを動作させることはできません。前もって感謝します。 Node.jsのでネイティブHTTPリクエスト機能を使用してはここ

+0

あなたがノード内の要求をしようとしているかを確認するために便利かもしれません。 – robertklep

答えて

1

次のように、あなたはあなたの要求を行うことができます -

var qs = require("querystring"); 
var http = require("https"); 

var options = { 
    "method": "PATCH", 
    "hostname": "api.github.com", 
    "port": null, 
    "path": "/gists/GIST-ID-FORM-PREVIOUS-CALL", 
    "headers": { 
    "authorization": "token TOKEN-VALUE-FROM-PREVIOUS-CALL", 
    "cache-control": "no-cache", 
    "content-type": "application/x-www-form-urlencoded" 
    } 
}; 

var req = http.request(options, function (res) { 
    var chunks = []; 

    res.on("data", function (chunk) { 
    chunks.push(chunk); 
    }); 

    res.on("end", function() { 
    var body = Buffer.concat(chunks); 
    console.log(body.toString()); 
    }); 
}); 

req.write(qs.stringify(
{ 
    "description": "updated gist", 
    "public": "true", 
    "files": { 
    "file1.txt": { 
     "content": "String file contents are now updated" 
    } 
    } 
})); 

req.end(); 
+0

JSONに何か問題があります(これがサーバーの言うことです)。しかし、カールコマンドは完全に動作します..? –

+0

は問題を見つけ出し、あなたの答えを編集しました。それは今働く。再度、感謝します。 –