2012-09-10 47 views
0

我每30秒對ajax調用java方法。 我在java方法中設置了很少的請求參數。從Ajax響應中獲取請求參數

如何從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,假);

,但我不從阿賈克斯

+0

我解決了這個問題,通過向ajax結果jsp添加一些數據,並基於此我改變了原來的jsp – Reddy

回答

1

得到更新值在服務器端的HttpServletRequest的任何更改將不會對客戶端可見。另外setAttribute方法不會影響傳入的HTTP請求字符串。它是HttpServletRequest內的附加存儲,用於在服務器端傳遞信息。

您需要將信息添加到現有的響應中,以結構化的方式離開(JSON對於您的客戶機立即轉換爲javascript對象並訪問響應中的單個值是可取的)。希望這可以幫助。

+0

任何工作?請我不知道JSON或從未使用它。我的方案示例將非常有幫助 – Reddy

+0

您是否可以使用示例「responseText」更新您的問題?這對建議任何解決方法很有用。 – Vikdor

+0

<字體顏色= 「紅色」> 這是由jsp我在哪裏發送我的調度和動態獲取這個動作的消息。 我想放置一些變量和數據的解決方法。 :( – Reddy