grails 2.5.4から3.1.9へのアップグレードに取り組んでいます。私はajax呼び出しに問題があります。Grailsは2.xから3.xにアップグレードします。アップグレード後にAjaxがテンプレートをレンダリングしない
私のアプリケーションには、サーバーから非同期にデータをロードするためにajaxリクエストを使用するgspテンプレートがあります。ここにその一つがあります。
javascriptのコール後AJAXリクエストを活性化させます。
$(document).ready(function() {
$(".chosen-select").chosen();
$(".automaticAjaxLoad").each(function() {
var url = $(this).attr("ajaxLoadingUrl");
if (url != "") {
$(this).load(url);
}
});
});
これは、コントローラの操作に続いて正常に呼び出されます。
def getLocalitiesWithCount() {
def localitiesList = Locality.list(sort: "posOrder", order: "desc")
def localitiesCountList = []
localitiesList.each { locality ->
def c = JobOffer.withCriteria() {
createAlias("positionLocality", "_positionLocality", CriteriaSpecification.LEFT_JOIN)
eq("_positionLocality.id", locality.id)
//between("l.accessDate", today, today + 1)
gt('willExpire', new Date())
isNotNull('datePublished')
projections {
// countDistinct("id")
rowCount()
}
}
def jobCountMap = [:]
jobCountMap.put("i18NameFull", locality.i18NameFull)
jobCountMap.put("i18Name", locality.i18Name)
jobCountMap.put("id", locality.id)
jobCountMap.put("name", locality.name)
jobCountMap.put("count", c.first())
localitiesCountList.push(jobCountMap)
log.error('Localities count ' + localitiesCountList.size());
}
render(view: '/ajax/localitiesWithCount', model: [localitiesCountList: localitiesCountList])
}
これまですべてが正常に動作しています。次のgspテンプレートをレンダリングする必要がありますが、そうではありません。それが属する場所は空のままにして、私は資産のパイプラインへのリソースプラグインからの資産のロードを手直ししなければならなかったコンソール
<h4> ${message(code: "localities.header")} </h4>
<hr>
<ul style="font-size: 85%; margin: 0; list-style: none;">
<g:each in="${localitiesCountList}"
status="i" var="localityInstance">
<g:if test="${localityInstance.count != 0}" >
<li>
<g:link controller="jobOffer" action="index" params="[positionLocalities: localityInstance.id]">
<h8>
${message(code: localityInstance.i18NameFull)}
[${localityInstance.count}]
</h8>
</g:link>
</li>
</g:if>
</g:each>
</ul>
には誤りがありませんので、私は問題があるかもしれないと思いますが、私どこに問題があるのか分かりません。何か案は?
レンダリング(テンプレート: '/ ajax/localitiesWithCount'、モデル:[localitiesCountList:localitiesCountList])を使用して、テンプレートをレンダリングしたいあなたのGSPの名前は '_localitiesWithCount.gsp'です。私はこれがあなたの問題を解決するか、少なくともあなたを解決策に近づけると思う。 –
ありがとうございました。これはうまくいくようです。 –