我正在尝试使用AngularJS以“multipart / form-data”格式通过发布请求发送数据,我真的很困惑,因为我没有一个想法如何做到这一点。
我的应用的第一个解决方案只需通过内置的提交方法点击<input type="submit" />
按钮即可发送数据。
我已按照要求:http://yourscr.com/d282cebed47bd55f3315c75bd55189d2.png
您可以看到数据具有特殊格式。它由字符串分开 的 ----- WebKitFormBoundary .... 即可。
Content-type中也有相同的字符串。
使用AngularJS重写应用程序后,我正在尝试以完全相同的格式发送数据(因为现在我无法在后端更改任何内容)。 对于数据发送,我使用$ http服务。
$http.post( URL , data , {
headers: { 'Content-Type' : 'multipart/form-data'}
})
不幸的是它不起作用。我有以下要求: http://yourscr.com/2e7fd3827d300f4191c96837629adf9f.png
数据格式不同,现在只是一个对象。
我决定尝试使用“new FormData()”
从我的表单中获取数据var fd = new FormData();
$http.post( URL , fd , {
headers: { 'Content-Type' : 'multipart/form-data'}
})
但它仍然不起作用!此时我的请求中有空数据(尽管填写了Form的所有字段)。
要求:http://yourscr.com/ab7e05efcba7431eeb73a749936e8d17.png
我应该做些什么来发送与第一个应用解决方案中使用的格式类似的数据?
如何使用AngularJS以'multipart / form-data'格式发送数据?
PS
对不起链接,关于我的声誉。我不能发布超过2个链接。
答案 0 :(得分:0)
这个适合我。
app.config(function($httpProvider){
$httpProvider.defaults.headers.post['Content-Type'] = 'multipart/form-data';
});