我有这样的图像上传ajax
$scope.uploadFile = function(){ var file = $scope.myFile; console.log(file); var uploadUrl = "/api/upload_image";//It will also goes to '/api/get_data' //fileUpload.uploadFileToUrl(file,uploadUrl); var fd = new FormData(); fd.append('file',file); $http.post(uploadUrl,fd,{ transformRequest: angular.identity,headers: {'Content-Type': undefined} }) .success(function(e){ console.log("Success"); }) .error(function(e){ console.log("Error"); }); };
并且这样调用ajax提交表单.
$http({ url: "/api/get_data",method: "POST",dataType:"json",data:JSON.stringify(this.formData) }).success(function(data) { console.log("Success"); }).error(function(error) { console.log("Error"); });
两个都是工作,但分开,如何将这两个ajax组合成一个,即提交ajax,第二个.
或者有什么方法可以在第二个ajax中发布图像数据,我正在使用角度的laravel5.2
我的角度视图中的文件输入是
<input type="file" file-model="myFile">
谢谢.
解决方法
你可以结合这两个这样的ajax来发布图像和formData,尝试一下.
var file = $scope.myFile; var fd = new FormData(); fd.append('file',file); fd.append('formData',JSON.stringify(this.formData)); $http({ url: "/api/get_data",transformRequest: angular.identity,headers: {'Content-Type': undefined},data:fd }).success(function(data) {
要检索formData,您需要在服务器端脚本编码时解码json.