我每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获取更新的值
最佳答案
服务器端对HttpServletRequest
的任何更改在客户端均不可见。此外,setAttribute
方法不会影响传入的HTTP
请求字符串。它是HttpServletRequest
中用于在服务器端传递信息的附加存储。
您需要以结构化的方式将信息添加到现有响应中(JSON更可取,您的客户端可以立即将其转换为javascript对象并访问响应中的各个值)。希望这可以帮助。