다음과 같이 함수로 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 호출에서 success 핸들러로 이동되고 ajax_call()이 별도의 함수로 정의되지 않았지만 바로 다음에 구현되면 ajax 호출에 대해 모든 작업이 수행된다는 점에주의해야합니다 주석은 "필드 채우기"입니다. 나는 이런 식으로 시도한 경험이 없으며 이것이 가능한지 아닌지를 알아야합니다.
당신은 성공의 기능을 포장 할 필요가 없습니다
질문이 성공을하는 경우 : 난 그냥 찾을 싶어 내가 볼 대신 –
success_function' : 콜백, 다음 작동 할 수 ...하지만 당신은'성공을 할 수 ajax_call()에서 동일한 코드 행을 여러 번 다시 입력하지 않아도됩니다. 내 웹 사이트에서 몇 가지 더 ajax 호출이 있습니다 – user3889963