我正在开发一款应用游戏,其中第一个玩家(pseudo1)必须等待第二个玩家(pseudo2)。 为此,我使用ajax post发送数据以验证第二个用户是否为null。如果第二个玩家没有加入游戏,我使用带有jquery的加载gif,现在我试图从动作类中获取JSON响应并显示响应的警报但是警报没有。这两种情况都有效。有谁可以帮助我吗 ?他可以让我的一周。对不起,我的英文不好
我的jsp:
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
<%@ taglib prefix="S" uri="/struts-tags" %>
<%--
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<sj:head jqueryui="true" jquerytheme="start" />
</head>
<body>
Partie en attente du deuxièmeJoueur
<s:set var="pseudo" value="#session.pseudo"/>
<div id="pseudo"><s:property value="#session.pseudo"/></div>
<div id="message"></div>
<script>
$("#message").ready(function () {
$("#message").html('<img src="/img/397060.gif">');
});
var data = $("#pseudo");
setInterval(Requete, 1000);
function Requete() {
jQuery.ajax({
url: 'ajaxCheckDeuxiemeJoueur?pseudo='+ $("#pseudo").val(),
type: "POST",
global: false,
datatype: 'json',
success: function (response) {
alert(response);
if (response.trim()==''){
alert("if");
}
else {
$("#message").html(response).$("#pseudo2").prop('outerHTML');
alert("else");
}
}});
}
</script>
</body>
</html>
我的struts.xml:
<package name="dddd" namespace="/" extends="json-default">
<action name="ajaxCheckDeuxiemeJoueur" class="actions.Ajax.AjaxCheckDeuxiemeJoueur">
<result name="success" type="json">
</result>
</action>
</package>
我的动作类:
package actions.Ajax;
import com.opensymphony.xwork2.ActionSupport;
import facade.GestionStratego;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.SessionAware;
import java.util.Map;
public class AjaxCheckDeuxiemeJoueur extends ActionSupport implements ApplicationAware, SessionAware{
private Map<String, Object> applicationMap;
private Map<String, Object> sessionMap;
public String getPseudo() {
return pseudo;
}
public void setPseudo(String pseudo) {
this.pseudo = pseudo;
}
private String pseudo;
public String getPseudo2() {
return pseudo2;
}
public void setPseudo2(String pseudo2) {
this.pseudo2 = pseudo2;
}
private String pseudo2;
public Map<String, Object> getApplicationMap() {
return applicationMap;
}
public Map<String, Object> getSessionMap() {
return sessionMap;
}
public final String execute() {
GestionStratego facade = (GestionStratego)this.applicationMap.get("facade");
this.setPseudo2(facade.getJoueur(pseudo).getPartie().getJoueur2().getPseudo());
return SUCCESS;
}
public void setApplication(Map<String, Object> map) {
this.applicationMap = map;
}
public void setSession(Map<String, Object> map) {
this.sessionMap = map;
}
}