下面的代碼工作,如果我使用jquery AJAX,但棱角分明$http
不使用下面的代碼的任何數據發送到服務器:
myapp.factory('startCampFactory',function($http,$q,$rootScope){
return {
startNewCampaign : function(){
var e = $("input#email");
var email = e.val();
var campname = $("input#campaignname").val();
var about = $("textarea#about").val();
var tamt = $("input#targetamount").val();
var edate = $("input#enddate").val();
var invitees = $("input#invitees").val();
var file_data = $("#file").prop("files")[0];
var form_data = new FormData();
form_data.append("file",file_data);
form_data.append("email",email);
form_data.append("campaignname",campname);
form_data.append("about",about);
form_data.append("targetamount",tamt);
form_data.append("enddate",edate);
form_data.append("invitees",invitees);
console.log(email+about+campname);
var deferred = $q.defer();
$http({
method:'POST',
url:'/startcampaign',
data:form_data,
headers:
{
'Content-Type' :'application/x-www-form-urlencoded'
}
}).success(function(data,status,headers,config) {
$rootScope.$apply(function() {
deferred.resolve();
});
}).error(function(){
$rootScope.$apply(function()
{
deferred.reject();
});
});
return deferred.promise;
}
});
你如何調用此服務? $ http自動返回'Promise'你不需要那麼做... – bingjie2680
@rohit如果你發現解決方案的帖子,讓別人知道它 – Satish
我不明白爲什麼這篇文章已被downvoted:這是一個普遍問題可以在網絡中找到 – Fedeco