500 错误甚至请求渲染 HTML 代码
500 error even request render HTML code
使用 ajax 从 GSP 模板中获取 HTML 内容。
$.get(url,{word:$('#search').val()},fnback)
浏览器控制台引发 500 错误。
然而,我们得到了预期的响应,但在浏览器中没有在回调中。
已知这种错误只出现在生产环境中
此问题与this ticket
相关
错误是由 Grails 或您的应用程序引起的,您需要确定原因;它似乎在管道中相对较晚发生,因为您得到了正确的 HTML 返回(我假设您没有在代码中意外地显式呈现 500 状态代码)。
至于您返回的响应,由于状态为 500,因此被忽略。 $.get function accepts a callback which is only invoked on successful requests. If you put debug lines into your fnback
function you will see it is never called. If you were to replace the $.get
with an equivalent $.ajax 调用并提供一个 error
回调,该函数将得到 HTML 您在浏览器的开发工具中看到的返回值。
基于@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);
});
使用 ajax 从 GSP 模板中获取 HTML 内容。
$.get(url,{word:$('#search').val()},fnback)
浏览器控制台引发 500 错误。
然而,我们得到了预期的响应,但在浏览器中没有在回调中。
已知这种错误只出现在生产环境中
此问题与this ticket
相关错误是由 Grails 或您的应用程序引起的,您需要确定原因;它似乎在管道中相对较晚发生,因为您得到了正确的 HTML 返回(我假设您没有在代码中意外地显式呈现 500 状态代码)。
至于您返回的响应,由于状态为 500,因此被忽略。 $.get function accepts a callback which is only invoked on successful requests. If you put debug lines into your fnback
function you will see it is never called. If you were to replace the $.get
with an equivalent $.ajax 调用并提供一个 error
回调,该函数将得到 HTML 您在浏览器的开发工具中看到的返回值。
基于@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);
});