背景: ionic+ angularjs+ cordova
在開發一個證書照片刪除的時候,後端提供了一個post接口,須要前端將數據轉化成form data。而在angularjs中,若是直接用post方式,發送數據是以Request Payload而不是以Form Data。前端
$http({ method: 'POST', url: url, data: data }).success(function () {});
運行結果: chrome
jquery
這樣後端是沒法獲取的。angularjs
解決辦法:
一、對post進行配置web
$http({ method: 'POST', url: url, 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("&"); }, data: xsrf }).success(function () {});
這樣就能轉化成form data數據讓後端接收了。chrome
二、使用jquery對數據進行處理
var data = $.param(data)後端
結尾:
最後沒有用以上的任何一種方法解決。由於整個項目是用websocket方式(除了實名認證和添加證書時考慮斷點續傳用了http方式),通過一番套路,總監讓後端改爲用websocket的方式了,而後就沒有而後了。。。websocket