2016-12-03 105 views
-1

我正在發佈數據到Servlet使用ajax。而我不知道如何GET來自Servlet的結果。請幫我解決這個問題。 我想從Servlet獲取結果。如果其成功重定向到成功頁面,如果失敗,則重定向到失敗頁面。AJAX - 從SERVLET發佈並獲得結果

阿賈克斯得到響應「成功」而不是重定向到另一個頁面。 this is response

這是我做了什麼至今:

<script> 
$(document).ready(function() {      
    setInterval("ajaxd()",3000); 

}); 

function ajaxd() { 

$.ajax({ 
    url:'/Query.cfm', 
    data:{amount:'<%=amount%>', No:'<%=No%>', eno:'<%=No%>', fno:'<%=fno%>', sign:'<%=sign%>'}, 


    type:'get', 
    cache:false, 
    success:function(data){ 
    if (data == 'success') { 
     var u = '/notic/succ.jsp?No=<%=No%>&amount=<%=amount%>'; 
     alert(u); 
     window.location.href = u; 
    }else if(data == 'failed'){ 
     window.location.href = '"/notic/failed.jsp?No="<%=No%>"&amount="<%=amount%>'; 
    } 
    }, 
    } 
); 
} 

</script> 

這是我的Servlet迴應: 結果:可能是 「成功」 或 「失敗」

response.setContentType("text/plain"); 
response.getWriter().println(Result); 
+0

你能提供你的Servlet代碼嗎?您可能需要向ServletResponse輸出流寫入成功/失敗。 –

+0

好的。我會在'success'函數裏放一個'console.log(data);'來查看'data'的值是什麼。還要在'success'下添加'error'和'done'函數來捕獲和記錄錯誤。既然你沒有返回json,你也可以嘗試在你的'ajax'調用中添加''dataType:text''。 –

+0

嘗試'window.location = u;'而不是'window.location.href = u;' –

回答

1

問題是: 由於使用println()而不是

print(). 
+0

它不能解決它,也許你可以添加 –

+0

console.log(data);後if(數據=='成功'),並在這裏發佈什麼數據是 –

+0

我希望我可以編輯我的意見...我的意思是說: 如果這不能解決它,也許你可以添加 console.log (數據); 之前 如果(數據=='成功'),並在這裏發佈什麼數據 –