Heim >Web-Frontend >js-Tutorial >Was sind die Ajax-Interaktionsmethoden zwischen dem Front-End und dem Back-End?

Was sind die Ajax-Interaktionsmethoden zwischen dem Front-End und dem Back-End?

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 13:44:372733Durchsuche

Dieses Mal werde ich Ihnen die Ajax-Interaktionsmethoden zwischen dem Front-End und dem Back-End vorstellen und welche Vorsichtsmaßnahmen für die Ajax-Interaktion zwischen dem Front-End und dem Back-End gelten Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf.

Front-End-Ajax und Back-End-Spring MVCController verfügen über die folgenden fünf Dateninteraktionsmethoden. (dhtmlxGrid wird im Frontend und fastjson im Backend verwendet)

Methode 1: Parameter über URL übergeben

Hook-Parameter über URL , wie zum Beispiel / auth/getUser?userid='6'

Die serverseitige Methode kann geschrieben werden als: getUser(String userid), und es können auch andere Parameter hinzugefügt werden, wie zum Beispiel HttpSession, HttpServletRequest, HttpServletResponse, Modus, ModelAndView usw.

Methode 2 Einzelwertparameterübergabe

Vordergrundaufruf ist:

ajaxPost("/base/user/exchangeSort",{"id":rid,"otherid":otherid},function(data,status){
xxxxxx
xxxxxx
});

Die Serverseite ist:

public String ExchangeSort(String id, String otherid)

Methode drei Objektübergabeparameter

Vordergrundaufruf wie:

var org={id:id};
ajaxPost("/base/org/getOrgById", org,function(data,textStatus){
xxxx
xxxx
});

Die Serverseite ist:

public Org getOrgById(Org org)

Methode 4ObjektserialisierungÜbergabe von Parametern

Vordergrundaufrufe wie:

var ueser={id:rowId};
var data=ajaxPost("/base/user/findById",{"userObj":JSON.stringify(user)},null);

oder

var ueser={ };//创建对象
user["id"]=id;
user["name"]=$("#name").val();
user["dept"]={};//外键对象
user["dept"]["id"]=$("#deptid").val();
ajaxPost("/base/user/addUser",{"userObj":JSON.stringify(user)},function(data){xxxx;xxxxx;});

Serverseitig:

@RequestMapping("/findById")
@ResponseBody
public UserInfo findById(String userObj) {
//使用fastJSON
UserInfo user = JSON.parseObject(userObj, UserInfo.class);
user = (UserInfo) userService.findById(UserInfo.class, user.getId());
return user;
}

Methode Fünf: Übergabeparameter auflisten

Front-End-Code wie:

var objList = new Array();
grid.forEachRow(function(rId) {
var index = grid.getRowIndex(rId);
var obj = {};
obj["id"] = rId;
obj["user"] = {};
obj["user"]["id"] = $("#userId").val();
//不推荐这样的写法
//obj["kinShip"] = grid.cells(rId, 1).getValue();
//obj["name"] = grid.cells(rId, 2).getValue();
obj["kinShip"]=grid.cells(rId,grid. getColIndexById ("columnName")).getValue();
obj["name"]=grid.cells(rId,grid.getColIndexById("name")).getValue();
if(grid.cells(rId, 3).getValue()!=null && grid.cells(rId, 3).getValue()!="") {
var str = grid.cells(rId, 3).getValue().split("-");
var day = parseFloat(str[2]);
var month = parseFloat(str[1])-1;
var year = parseInt(str[0]);
var date=new Date();
date.setFullYear(year, month, day);
obj["birth"] = date;
}else {
obj["birth"] ="";
}
obj["politicalStatus"] = grid.cells(rId, 4).getValue();
obj["workUnit"] = grid.cells(rId, 5).getValue();
if (grid.cells(rId, 6).isChecked())
obj["isContact"] ="1";
else
obj["isContact"] ="0";
obj["phone"] = grid.cells(rId, 7).getValue();
obj["remark"] = grid.cells(rId, 8).getValue();
obj["sort"] = index;
objList.push(obj);
});
ajaxPost("/base/user/addUpdateUserHomeList", {
"userHomeList" : JSON.stringify(objList),
"userId" : $("#userId").val()
},function(data, status) {
xxxxx
});

Serverseitig:

@RequestMapping("/addUpdateUserHomeList")
@ResponseBody
public String addUpdateUserHomeList(String userHomeList, String userId) {
List userHomes = JSON
.parseArray(userHomeList, UserHome.class);//fastJSON
if (userHomes != null && userHomes.size() > 0) {
try {
userService.addUpdateUserHomeList(userHomes, userId);
} catch (Exception e) {
e.printStackTrace();
}
}
return "200";
}

Angehängter AjaxPost-Code:

function ajaxPost(url,dataParam,callback){ 
var retData=null; 
$.ajax({ 
type: "post", 
url: url, 
data: dataParam, 
dataType: "json", 
success: function (data,status) { 
// alert(data); 
retData=data; 
if(callback!=null&&callback!=""&&callback!=undefined) 
callback(data,status); 
}, 
error: function (err,err1,err2) { 
alertMsg.error("调用方法发生异常:"+JSON.stringify(err)+"err1"+ JSON.stringify(err1)+"err2:"+JSON.stringify(err2)); 
} 
}); 
return retData; 
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Gibt es eine Duplizierung der Ajax-Verifizierungsdaten?

Was passiert, wenn der Fehler „status=parsererror“ vorliegt? während der Ajax-Interaktion gemeldet? Lösen

Das obige ist der detaillierte Inhalt vonWas sind die Ajax-Interaktionsmethoden zwischen dem Front-End und dem Back-End?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn