私はajax呼び出しを次のように関数に一般化しようとしています。私は前にこれをしていないし、私はそれを正しくやっているかどうか確かではない。私はここで何をしようとしている関数へのajax呼び出しの一般化
<script>
$(document).ready(function(){
var reg_no=$("#reg_no").val();
reg_no=reg_no.trim();
if(reg_no!==""){
//populate fields
data={reg_no:reg_no,func:"getSupplierDetails"};
success_function="updateFormFields";
ajax_call(data,success_function);
}
});
function ajax_call(data,success_function){
$.ajax({
type:"POST",
url:"../control/supplier-c.php",
dataType:"json",
data:data,
success:function(data){
success_function(data); //variable function works??
}
});
}
function updateFormFields(data){
//some code here to handle data array
}
</script>
は、データ配列、成功時に実行される関数を渡すことで、全体のAjaxコードを書き換えないようです。私が行ったように、可変関数の使用がわかりません。
updateFormFields()コードがajax呼び出しの成功ハンドラに移動され、ajax_call()が別の関数として定義されていないが、その直後に実装されていれば、ajax呼び出しのすべてが機能することに注意してくださいコメントは「フィールドに値を設定する」。私はちょうどこの方法でそれを試して経験がないと私はこれが可能かどうかを知る必要があります。
はあなたが成功機能をラップする必要はありません
あなたの質問は、成功についての場合:コールバックは、それが動作します...しかし、あなたは '成功行うことができます。success_function'代わり –
私が見るに、私は探していましたajax_call()内の同じコード行を複数回再入力しないようにします。私は私のウェブサイトでもう少しajaxコールを持っています – user3889963