0
$ q.defer()を使って関数から得た$ http.postを通してデータを送信する方法をお聞きしたいと思います。ここで
は、コードのビットは次のとおりです。
HTML
<input type='text' ng-model='name'/>
<input type='file' id='inputFile' />
<button ng-click='save'>Save</button>
はJavaScript
file = document.getElementById('inputFile');
function imgToBase64(file_input) {
var deferred = $q.defer();
if (file_input.files && file_input.files[0]) {
var fileReader = new FileReader();
fileReader.onload = function (event) {
result = event.target.result;
deferred.resolve(result);
};
fileReader.readAsDataURL(file_input.files[0]);
}
return deferred.promise;
};
imgToBase64(file).then(function(result){
$rootScope.result = result;
});
POSTリクエスト
問題は、私がsaveを押すと、 'name'の内容が送信されますが、$ rootScope.resultは空です。 $ rootScope.resultをconsole.log()に置いても結果は見えますが、ポストでは空ですか? 何が間違っている可能性がありますか? おかげ
イェーイを!うまく働いた:) – marek