2013-12-13 82 views
0

我的問題有點奇怪。我有一個JSP頁面,它在組合框更改時使用JQuery/ajax調用servlet。一切正常,我得到的答覆,但HTML顯示爲文本。值得一提的是,當我通過URL直接調用servlet時,一切都很好。使用ajax的servlet響應中的HTML沒有在JSP頁面中執行

Servlet的響應代碼:

for(int i=0;i<tabstr.length;i++){ 
     wyjscie.println(i+": "+tabstr[i]+" <br>"); 
    } 

JSP AJAX調用:

$('#com2').change(function() { 
       $.get('filtr', function(responseText) { 
        $('#result').text(responseText); 
       }); 
      }); 

結果爲JSP頁面內的DIV的ID。過去我做過一些沒有Ajax的servlet,之前我沒遇到過這個問題。任何想法如何處理它?

回答

0

你必須設置爲HTML而不是文本試試這個

$('#result').html(responseText); 
+0

這很好用。謝謝。 – Sajkor

+0

我不得不等待幾分鐘才能接受,儘快完成它:P – Sajkor

0

我認爲您的服務器不指定響應的MIME類型。所以你必須指定它,或者你可以在你的ajax調用中指定dataType

$.ajax({ 
    url : "myUrl", 
    dataType : "json", 
    data : { 
    param1 : value1,     
    } 
}); 

ajax api:

的dataType:類型,你期望從服務器返回的數據。如果沒有指定 ,jQuery將嘗試根據 的MIME類型推斷它的響應...

+0

感謝您的時間,我很欣賞它,但我已經找到了解決方案 - 請參閱Ramesh的文章。 – Sajkor