Heim  >  Artikel  >  Web-Frontend  >  Was soll ich tun, wenn die jquery-Methode $.post nicht ausgeführt wird?

Was soll ich tun, wenn die jquery-Methode $.post nicht ausgeführt wird?

coldplay.xixi
coldplay.xixiOriginal
2020-11-25 15:54:482321Durchsuche

Die Lösung für das Problem, dass die jquery-Methode $.post nicht ausgeführt wird: Setzen Sie die zurückgegebenen Daten auf JSON-Daten und der Code lautet [out.print(JSONObject.fromObject(result));].

Was soll ich tun, wenn die jquery-Methode $.post nicht ausgeführt wird?

Die Betriebsumgebung dieses Tutorials: Windows7-System, jquery3.2.1-Version. Diese Methode ist für alle Computermarken geeignet.

Lösung für das Problem, dass die JQuery-Methode $.post nicht ausgeführt wird:

Über das Problem, dass die Post-Callback-Funktion von JQuery nicht ausgeführt wird

Die Front-End-Post-Callback-Funktion wird nach dem Festlegen des Breakpoint-Debugs nicht ausgeführt. es wird immer noch übersprungen und nicht ausgeführt

Fehlerdemonstration:

Backend-Code

@RequestMapping(value = "login")
public void CheckUserAccount(@RequestParam("account")String account, HttpServletResponse response) throws IOException{
JSONObject json_account = JSONObject.fromObject(account);
int username = (Integer)json_account.get("username");
String password = json_account.getString("password");
logger.info("username = " + username + " password = " + password);
int status;
status = checkUserAccountService.IsCorrect(username, password);
Map<String, Object> result = new HashMap<String, Object>();
Map<String, String> info_json = new HashMap<String, String>();
if(status == 1){
info_json.put("status", "success");
}else if(status == 0){
info_json.put("status", "errorpassword");
}else{
info_json.put("status", "noexitaccount");
}
result.put("info", info_json);
JSONObject json_object = JSONObject.fromObject(result);
response.setContentType("text/json; charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.print(result);
out.flush();
out.close();
logger.info("验证结果是" + ((Map<String, String>)(result.get("info"))).get("status"));

Der Schlüsselsatz lautet:

response.setContentType("text/json; charset=utf-8"); response.setContentType("text/json; charset=utf-8");

此处设置返回的数据为json数据, 但是out.print(result);这里输出的是一个Map, so 前端识别不出任何数据, 结果回调函数直接跳过不执行(因为回调函数只执行json数据)

正确示范 :

改成: out.print(JSONObject.fromObject(result));

Die hier zurückgegebenen Daten sind auf JSON-Daten eingestellt, aber out.print(result); die Ausgabe hier ist eine Karte, sodass das Frontend keine Daten erkennen kann und die Rückruffunktion direkt übersprungen und nicht ausgeführt wird (da der Rückruf Funktion führt nur JSON-Daten aus)

Korrekte Demonstration:

Ändern Sie es einfach in: out.print(JSONObject.fromObject(result));.

🎜Verwandte kostenlose Lernempfehlungen: 🎜Javascript🎜 (Video) 🎜🎜

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die jquery-Methode $.post nicht ausgeführt wird?. 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