SSH框架下jquery ajax的前後臺傳值

今天jajax弄了半天,總結了下失敗的經驗,是因爲JAVA服務器端返回值不對,把正確的使用方法在這寫一下,如果有和我一樣框架的,可以參考參考:

JSP端:

function autoCode(){
       var f= document.standardAuthorizeForm
       jajax({
            url:"<%=request.getcontextpath()%>/standardsystem/standardsystem!autoProcesscode.do",
            data:"",
            async:false,
            success:function(data){
              f["processcode"].value=data.message;
            }
}
       )   

}
    url裏面存放action那頭要調用的方法,如果需要傳參數給action中的方法就 data{"ACTION端需要的變量":JS端的變量},

    如果不需要參數就寫data:"", 記住後頭一定都是逗號不是分號。

    JAVA ACTION端:

     

public String autoProcesscode(){

   String processcode="123";
   Message msg= new Message();
   msg.setMessage(processcode);
   Struts2Utils.renderJson(msg);
 //這裏不能直接
//Struts2Utils.renderJson(processcode);
//直接傳processcode前success:function(data)獲取不到值,必須得將processcode放在一個對象裏,大家不需要關心msg對象啥,
//只需要知道這個msg有一個string類型叫message的私有變量可以用來存儲processcode就行。
//此外還可以用來傳List對象,但是直接傳一個String XXX或者int XXX就是不行

}
爲什麼直接傳String processcode,那邊data就無法獲取到值,這我不知道,反正按上述這麼寫,能成功的將後臺的變量通過JAJAX傳到前端就OK。  如果有大神知道原因的還望指點一二。

此外,如果前臺data傳值 data{"ACTION端需要的變量":JS端的變量},“action端需要的變量”必須要在對應的action文件中有對應同名的私有變量,並且有相對應的get set方法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章