HTTP傳值方式和請求方式/angular的請求方式
阿新 • • 發佈:2019-01-24
一、Http傳值方式有2種:get、post
二、標準Http協議支援六種請求方法,即:get 、head、put、delete、post、options(通常情況下我們只用到了get和post的請求方式)
三、Http使用get請求介面的時候,一般直接get到資料就可以;如果使用put、delete、post請求介面,一般要先請求options來來檢查伺服器的效能(或者可以說是先做一下判斷,options先對複雜的資料做一次處理與校驗)
angular的get請求方式
$http({
url: url,
method: "get"
}).success(function (res) {
console.log(res);
});
腳註:
get 請求方式傳遞陣列 你需要:在要傳遞的欄位後面加[] ;
但是post請求傳遞陣列就無需在欄位後面加[];
angular的post請求方式
$http({
method:'post',
url:'post.php',
data:{name:"aaa",id:1,age:20},
headers:{'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function (obj) {
var str = [];
for(var p in obj){
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}
}).success(function(req){
console.log(req);
})
angular的put請求方式
我們要使用PUT 請求 POST 提交
//使用者登入
postLogin : function (params) {
params['_method'] = 'PUT';
console.log(params);
var deferred = $q.defer();
var url = config.basePath + 'admins/1.html?act=login';
$http({
method: 'POST',
url: url,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function (obj) {
var str = [];
for (var o in obj)
str.push(encodeURIComponent(o) + "=" + encodeURIComponent(obj[o]));
return str.join("&");
},
data: params
}).success(
function (data, status, header, config) {
deferred.resolve(data);
});
return deferred.promise;
},
或者是
$http({
url: url,
method: "POST",
data: {
"_method":'PUT',
"name":aili
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
transformRequest: function (obj) {
var str = [];
for (var o in obj)
str.push(encodeURIComponent(o) + "=" + encodeURIComponent(obj[o]));
return str.join("&");
},
}).success(function(res) {
console.log(res);
})
angular的delete請求方式
我們要用DELETE 請求 GET提交
$http({
url: url(url裡面拼接引數),
method: "DELETE",
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
transformRequest: function (obj) {
var str = [];
for (var o in obj)
str.push(encodeURIComponent(o) + "=" + encodeURIComponent(obj[o]));
return str.join("&");
},
}).success(function(res) {
console.log(res);
})
腳註
有問題可以聯絡QQ:523015682