개발 프로젝트에서는 프론트엔드 값이 백엔드로 전달되는 경우도 있는데, JSP 형태로 한두개 값이 전달되기도 하고, 이때 값을 하나씩 전달하는 경우도 있습니다. 이는 결코 좋은 생각이 아니므로 jQuery를 사용하여 양식 직렬화 방법을 사용하면 이 문제를 매우 잘 해결할 수 있습니다. 동시에 실행이 성공하면 해당 콜백 함수를 일반 함수로 캡슐화할 수 있습니다. 각각의 기능을 실현하기 위해 호출될 수 있습니다.
코드는 다음과 같습니다.
function queryUserInfo(actionUrl,formId,fun){ var params=new Object(); //声明数组 $.each($("#"+formId).serializeArray(),function(index,param){ params[param.name] = param.value; //序列化表单 }); params['time']=new Date(); //1 $.ajax( { url : basePath+actionUrl, data : params,//没有1,可以这样写("#"+formId).serializeArray() type : 'POST', dataType:'json', async: false,//表示同步,等待服务端返回数据,才会执行后面的代码 success : function(obj) { fun(actionUrl,formId,obj); }, error: function() { alert("访问异常"); } }); }
다른 방법:
function setUserInfo(actionUrl,userid,username,fun){ var params=new Object(); //声明数组 params['user.id']=userid; params['user.name']=username; $.ajax( { url : actionUrl, data : params,//没有1,可以这样写("#"+formId).serializeArray() type : 'POST', dataType:'json', async: false,//表示同步,等待服务端返回数据,才会执行后面的代码 success : function(obj) { fun(actionUrl,formId,obj);//调用回调的函数 }, error: function() { alert("访问异常"); } }); }