如何使用角度$http发送表单数据
How to use angular $http to send FormData
var formData = new FormData();
formData.append('type', type);
formData.append('description', description);
formData.append('photo', photo);
var request = new XMLHttpRequest();
request.open('POST', '{{ path('my_webservice') }}');
request.send(formData);
如何使用$http
发送FormData
?
我对上述代码的主要问题是我不知道在收到响应时如何生成回调。
所以,如果我能在 Angular 中做到这一点,我就进入了更熟悉的领域。
谢谢
编辑
这似乎是异步工作的。在易于实施方面,似乎比建议的任何 Angular 解决方案都要好。
request.onload = function (e) {
if (request.readyState == 4 && request.status == 200) {
console.log(request.responseText);
}
};
您可以使用
$http
发布。
但是content-type
必须更改为application/x-www-form-urlencoded
,并且数据应该使用key=value
对进行序列化。
这些设置应注入到$http
的基础XMLHttpRequest
对象。
这是一篇向您展示如何做到这一点的文章。
AngularJS:
$http.post(myRestUrl, {my:"object"}).success(function(data, status, headers, config){/* DO STUFF*/});
阅读更多内容,请访问 https://docs.angularjs.org/api/ng/service/$http
或者使用 XMLHttpRequest 执行此操作:
client.onreadystatechange = function() {
if(this.readyState == 2) {
print(this.getAllResponseHeaders());
}
}
http://www.w3.org/TR/XMLHttpRequest/#the-send%28%29-method
向
表单添加一个 ng-submit
属性,并为其分配一个函数,以使用 $http 服务处理 POST 请求。Angular 使用 promises
API 处理 http 响应。以下是 https://docs.angularjs.org/api/ng/service/$http 的示例:
$http({
method: 'GET',
url: '/someUrl',
data: { type: 'myType',
description:'myDescription'
}
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
相关文章:
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- 在不同的文件中使用Javascript获取表单数据
- 使用Javascript读取Webstorage表单数据
- Uploadify-随机表单数据's已返回上载表单
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- 在post-expressjs之后持久化表单数据
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- jQuery发布并获取表单数据
- Ajax表单数据phpPOST不工作
- 如何将整个模型集附加到表单数据中,并在MVC中获得它
- 如何从javascript访问表单数据
- 如何从Angular Payments获取表单数据
- 通过javascript获取pdf文件的表单数据
- 有没有一种方法可以在jQuery.serialize()之前获取表单数据,或者与jQuery.sserialize(()
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- 无法读取未定义的属性“用户名” - 通过电子邮件在 Node.js 中发送表单数据
- 使用 Ajax 获取表单数据
- 我无法从引导模式中清除表单数据
- 如何从 django 模板语言获取表单数据