Heim > Web-Frontend > js-Tutorial > Hauptteil

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

php中世界最好的语言
Freigeben: 2018-04-02 13:44:37
Original
2623 Leute haben es durchsucht

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
});
Nach dem Login kopieren

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
});
Nach dem Login kopieren

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);
Nach dem Login kopieren

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;});
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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
});
Nach dem Login kopieren

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";
}
Nach dem Login kopieren

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; 
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!