0

我每 30 秒对 java 方法进行一次 ajax 调用。我在 java 方法中设置了几个请求参数。

如何从 ajax 响应中获取它们。

<script LANGUAGE="JavaScript1.2">

var tId = window.setTimeout(function () { 
location.reload(true);
alert('<s:property value="#disableReload" />');
if('<s:property value="#disableReload" />' == "true"){
    alert("clearing");
}else{
    var url = 'moveETHAction_fetchExecutorData.action';
    var form = document.getElementById('moveForm');
    var params = Form.serialize(form) + '&ms=' +  new Date().getTime();
    form.action = "fetchExecutorData";
    var myAjax = new Ajax.Request(url, {method: 'post', parameters: params, onComplete: showResponseAction} );
}
}, 30 * 1000);

function showResponseAction(originalRequest){
alert(originalRequest.responseText);
    alert('<s:property value="#request[\'DISABLE_FLOW'\]" />');
document.getElementById('actionChange').innerHTML = originalRequest.responseText;
}
</script>

在 Java 方法中,我正在设置此参数

request.setAttribute(GenericConstants.DISABLE_FLOW, false);

但我没有从 ajax 获得更新的值

4

1 回答 1

1

对服务器端的任何更改HttpServletRequest在客户端都将不可见。此外setAttribute方法不会影响传入的HTTP请求字符串。HttpServletRequest它是在服务器端传递信息的附加存储。

您需要以结构化的方式将信息添加到现有响应中(JSON 更适合您的客户端立即转换为 javascript 对象并访问响应中的各个值)。希望这可以帮助。

于 2012-09-10T06:41:16.480 回答