Ajax を外出しにして関数化する
Ajaxを関数化して使用したいと挑戦したが、結果をCall元に戻せない。
ちょっと手に負えないので、インターネットで調査したところ分かり易い事例があったので以下にメモしておく。
$(function(){
$(document).on('click', '#sample', function () {
var $data = new FormData($('#sample').get(0));
var $resultConnect = sendAjaxRequest($data);
$.when($resultConnect).then(function(data){
console.log(data);
});
});
function sendAjaxRequest($data) {
var d= $.Deferred();
$.ajax({
url:'hogehoge.php',
type:'post',
dataType: 'json',
data: $data,
cache:false,
processData: false,
contentType: false,
}).done(function(data){
d.resolve(true);
}).fail(function(xhr,err){
d.resolve(false);
});
return d.promise();
}
});
<form id="sample">
<input type="text" name="username" value="123">
</form>
使用例
この例だけでは分かり難い場合は、実際の使用例 をご覧ください。
Written with StackEdit.
0 件のコメント:
コメントを投稿