2016-08-22 25 views
-1

我在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"; 

我做用get並得到響應以下請求以下網址。

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

現在,我想我的get請求轉換到post request.How辦?

+0

你正在向你的url添加用戶憑據(通過查詢字符串),你需要將它傳遞給'post'主體。 – AranS

+1

@AranS可以請你回答Answer部分的問題。我試圖做到這一點,但不能通過..請指導我 – MKY

+0

什麼**正**需要在POST請求體('數據')以及需要指定什麼作爲查詢參數('params') ? – Phil

回答

0

post方法發送的數據容易受到它的建議掰開您的查詢字符串傳遞請求體。就像這樣:

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

$http.post(myUrlWithoutQueryString, loginData); 

注意,loginData你傳遞應該與服務器端的解析需求(匹配parameteres例如)。

+0

*「你必須拆開你的查詢字符串」* < - 這不一定是真的。 POST請求可以同時具有查詢參數和請求正文數據。這完全取決於服務器端應用程序的數據解釋方式。 – Phil

+0

另外,OP需要發送POST body數據爲'application/x-www-form-urlencoded',但這需要澄清 – Phil

+0

我同意@Phil,這是我在'must break'部分的錯誤。通過發佈請求發送數據似乎更合理,特別是在發送用戶憑證時。當然可以通過查詢字符串發送參數。 – AranS

0

使用$http.post

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

這是行不通的 – MKY

+0

我沒有得到任何迴應 – MKY

+0

@MKY你會得到某種反應,至少在你的瀏覽器的*網絡*控制檯。 – Phil