2016-08-22 6 views
-1

私はgetを使用して、次の要求を行うと、応答を取得していますhttp.get()要求角度jsでhttp.get()をhttp.post()に変換するにはどうすればよいですか?

var ipaddress ="192.160.0.20"; 
var name = "root"; 
var pw ="root"; 
var loginUrl= "http://" + ipaddress + ":8080/managemind/user.cgi?ACTION=login&LOGIN=" + name + "&PASSWORD=" + pw + "&CLIENT_TYPE=mobile&SUBSCRIBER_ID=NotAssigned&MAC_ADDRESS=NotApplicable"; 

にURLを次のようしています。

$http.get(createdUrl) 
.then(function(response) {} 

は、今私は何をするpost request.Howに私のget要求を変換したいですか?

+0

URLにユーザーの資格情報を追加する場合(クエリ文字列を使用)、それを 'post'本体に渡す必要があります。 – AranS

+1

@AranS回答セクションの質問にお答えください。私はそれをやろうとしましたが、渡すことができませんでした。ガイドをしてください。 – MKY

+0

POSTリクエストボディ( 'data')に**必要なものとクエリパラメータ(' params')として何を指定する必要がありますか? – Phil

答えて

0

post方法で脆弱なデータを送信する使用クエリ文字列は、リクエストボディにそれを渡します。 loginDataあなたが渡しているが(例えばparameteresをマッチング)、サーバー側での構文解析の要件に合致する必要があること

var myUrlWithoutQueryString = ... // here goes your url 
var loginData = { 
    name: ... 
    ps: ... 
    action ... 
    // and so on 
}; 

$http.post(myUrlWithoutQueryString, loginData); 

はご注意:このように。

+0

* "クエリ文字列を分割する必要があります" * < - これは必ずしも真実ではありません。 POSTリクエストは、クエリパラメータとリクエストボディデータの両方を持つことができます。これらのデータがどのように解釈されるかは、サーバーサイドのアプリケーションによって異なります。 – Phil

+0

また、OP本体のデータを 'application/x-www-form-urlencoded'として送信する必要があるかもしれませんが、明確化が必要です。 – Phil

+0

@Philに同意します。投稿要求を介してデータを送信することは、特にユーザーの資格情報を送信する際に、より合法的に思えます。もちろん、クエリ文字列を介してparamsを送信することも可能です。 – AranS

0

ばらばらにすることをお勧めします$http.post

$http.post(createdUrl) 
.then(function(response) {} 
+0

これは動作していません – MKY

+0

私は応答がありません。 – MKY

+0

@MKY少なくともあなたのブラウザーの* Network *コンソールで何らかの応答が得られます。 – Phil

関連する問題