[英]$http post not working after migration from angularJS 1.3-beta to 1.4
我正在將我的項目從angularjs 1.3 beta遷移到1.4,'$ http get'工作正常,但'$ http post'正在創建問題。 以下是用戶身份驗證代碼,在1.3中工作正常,但在1.4中不工作
factory.authenticate = function (email, password) {
var payload = {
email: email,
password: password
};
var rid = Security.reqKey();
payload['rid'] = rid;
return $http({
method: 'POST',
url: Base_url +'service/auth',
param: {
rid: rid
},
data: $.param(payload),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
};
遷移到1.4后會產生錯誤:
POST http:// localhost / 405(不允許)XHR加載失敗:POST
(之前工作正常)
存在這種代碼給出期望結果的情況。 如果我將調試器放在chrome瀏覽器中並按f10運行整個代碼。
根據文件 ,
params - {Object。} - 將使用paramSerializer序列化並附加為GET參數的字符串或對象的映射。
param
應該是params
,因此你的數據沒有被序列化,這可以解釋為什么服務器拒絕你的POST(因為post需要比GET更多的特權)。
但即使這可能是不正確的,因為我認為params
只適用於GET(但也許它適用於兩者)。
你也不需要jquery $.param()
$ http有一個內置的序列化器。 data
可以設置為payload
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.