500错误甚至请求呈现HTML代码

时间:2015-01-12 10:39:44

标签: ajax tomcat grails production-environment

使用ajax从GSP模板获取HTML内容。

$.get(url,{word:$('#search').val()},fnback)

浏览器控制台引发500错误。

enter image description here

但是,我们得到了预期的响应,但是在浏览器中没有回调。 enter image description here

已知此类错误仅出现在生产环境中。

此问题与this ticket

有关

2 个答案:

答案 0 :(得分:0)

错误是由Grails或您的应用程序引起的,您需要确定原因;因为你得到了正确的HTML(我假设你并没有在你的代码中明确地呈现500状态代码),所以它肯定会在管道中相对较晚发生。

至于您要回复的响应,由于500状态而被忽略。 $.get函数接受仅在成功请求时调用的回调。如果您将调试行放入fnback函数,您将看到它从未被调用。如果您要使用等效的$.ajax调用替换$.get并提供error回调,则该功能将获得您在浏览器的开发工具中返回的HTML。

答案 1 :(得分:0)

基于@Gregor Petrin回答:

$.get(myurl,{word:word},function(d){
   $('div#resp').html(d)

})

已被替换为:

$.ajax({url:myurl,data:{word:word}}).always(function(d,status){
   if(status !=='success'){
    d=d.responseText;
   }
    $('div#resp').html(d);
});