javascript - Laravel Blade 不显示返回的 Ajax 数据
问题描述
从 Ajax 到控制台屏幕的数据,同时,当我查看 Browser f12 Network 时,数据成功返回如下。但它不会显示在某种 index.blade.php 文件的 div 中。
响应 Json 数据
{"options":"<table>\n <thead>\n <tr>\n <th>Alt Grup<\/th>\n <th>Miktar<\/th>\n <\/tr>\n <\/thead>\n <tbody>\n <tr>\n <td>AB<\/td>\n <td>110<\/td>\n <\/tr>\n <tr>\n <td>AC<\/td>\n <td>9<\/td>\n <\/tr>\n \n \n <\/tbody>\n<\/table>\n\n\n\n"}
index.blade.php 中的 Ajax 脚本
<script type="text/javascript">
$(document).ready(function(){
$('.depo_sec').click(function(){
var depo_id = $(this).children('input:hidden').eq(0).val();
$.ajax({
url: "{{ route('stok-ajax') }}",
dataType: 'json',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
method: 'POST',
data: {depo_id:depo_id},
success: function(dataHTML) {
$('#ajax-area').html(dataHTML);
console.log(dataHTML);
}
});
});
});
</script>
我想将 ajax 数据显示到div id="ajax-area"中。
index.blade.php
<div class="row">
<div id="ajax-area"></div>
</div>
它不会给出任何错误,但不会在页面上打印任何内容。
解决方案
根据您的 JSON 返回,您需要
$('#ajax-area').html(dataHTML.options);
代替
$('#ajax-area').html(dataHTML);
注意:你应该非常小心,因为注入一些 HTML 是一个 XSS 漏洞。
推荐阅读
- c# - 子弹在墙内实例化,不会触发 OnCollisionEnter2D
- javascript - 无法在 Google Chrome 上运行的可点击锚导航
- python - 将文件复制到文件夹
- java - Mockito:“给定......将”返回空值而不是答案
- objective-c - AVAssetExportSession 在尝试合并多个视频/音频剪辑时导致音频视频不同步
- php - 如果某个 API 不允许在 1 个 GET 请求中获取多个位置,那么 foreach 和每个位置发出 1 个 GET 请求是唯一的选择吗?
- xml - 如何使用 ET.parse 函数遍历目录中的每个文件
- entity-framework-core - 在 oData 控制器中检索上下文
- c++ - C 整数在 C++ 代码中使用时失去其常量状态
- php - PHP如何将结果保持为十进制格式并删除不必要的零?