我每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对象并访问响应中的各个值)。希望这可以帮助。

07-26 06:38
查看更多