我正在一个项目上,我发现要用ajax进行侧面加载是不幸的事情,不幸的是,我有更多的状态,然后是确定和错误。
情况如下:
当我用ajax加载页面的一部分并且响应站点为空时,这没问题,一切都按预期进行。
但是,当响应标记有警告时,我需要将其打印到屏幕上。我猜没什么花哨的。
这是我正在使用的代码:
出于测试目的,我想将/backend/posthourssingle
响应中的所有内容打印到ID为alert_saveinfo_{{ ma.persnr }}
的范围中。使用Twig变量工作时,我具有跨度,并且输出为"res:"
,而没有/backend/posthourssingle
的内容。当使用网络工具检查元素时Chrome,我可以将响应显示为HTML文本。
<script>
$("#submit_{{ ma.persnr }}").click(function(e) {
e.preventDefault();
var json = $("#formtosubmit{{ ma.persnr }}").serialize();
$.ajax({
type: 'POST',
datatype: 'json',
url:'/backend/posthourssingle',
data: json,
success:function(result) {
response = result;
//document.getElementById('alert_saveinfo_{{ ma.persnr }}').innerHTML = '"res:' + response + '"';
showToast('success', 'Datensatz wird gespeichert!', 'Daten von <b>{{ ma.vorname }} {{ ma.nachname }}</b> ({{ ma.persnr }}) wurden in der Datenbank gespeichert.');
// showToast('warning', 'Warning Head!', 'Warning Text.');
}
})
});
</script>
答案 0 :(得分:1)
如果需要从服务器获取HTML,则需要指定dataType: 'html'
,而不是json
。请参阅ajax文档
数据类型(默认值:
Intelligent Guess (xml, json, script, or html)
)
类型:字符串
您期望从服务器返回的数据类型 ...
"html"
:以纯文本格式返回HTML;当插入DOM中时,将评估包含的脚本标签。
$.ajax({
type: 'POST',
contentType: 'json'
dataType: 'html',
url:'/backend/posthourssingle',
data: json,
success:function(result) {
response = result;
//document.getElementById('alert_saveinfo_{{ ma.persnr }}').innerHTML = '"res:' + response + '"';
showToast('success', 'Datensatz wird gespeichert!', 'Daten von <b>{{ ma.vorname }} {{ ma.nachname }}</b> ({{ ma.persnr }}) wurden in der Datenbank gespeichert.');
// showToast('warning', 'Warning Head!', 'Warning Text.');
}
})