我有一个 gsp 页面,其中包含一个执行 ajax 调用的 JS 函数(名为“sample”)。
function sample() {
var params = { office: {id: "testId"}, population: {id: "testId2"}};
$.ajax({
url: "http://localhost:8080/officeProj/mustache/list",
cache: false,
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
data: JSON.stringify(params),
complete:function(json){
console.log(" reponse :"+ json);
},
success: function(officeData) {
var template = "<h1>{{data.firstName}} {{data.lastName}}</h1>";
var html = Mustache.to_html(template, data);
$('#sampleArea').html(html);
} ,
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log("error :"+XMLHttpRequest.responseText);
}
})
}
现在,这个 ajax 调用到达适当的 GRAILS 控制器和适当的操作,定义为:
def list = {
withFormat {
html { return [title: "Mustache" , data:[firstName:"Indiana", lastName:"Jones"], address:"NYC" ] }
json {
// extract the data to be rendered to the page
println("processing JSON.....")
render ([title: "Mustache" , data:[firstName:"Indiana", lastName:"Jones"], address:"NYC" ] as JSON)
}
}
}
问题是控件从不通过控制器操作中的 withFormat->json ,因此我没有看到预期的结果。(当控件返回 gsp 页面时,它通过“完整”但不是通过“成功”。没有记录错误。任何人都可以看到我的ajax调用有什么问题吗?如果我需要提供更多信息,请告诉我。提前致谢。