求助大佬们 wordpress 插件 ajax 调不通

74 天前
 konglong1
ajax 请求本地 data.php 文件。data.php 请求了服务端数据 但是一请求 data.php 就 500 了
感觉像是跨域, 但是我这应该算是代理模式吧
669 次点击
所在节点    程序员
5 条回复
konglong1
74 天前
<?php
echo create_dynamic_table() ?>
<?php
// 在您的插件文件中,包含 DataTables 库的 CSS 和 JS 文件
// 创建包含动态加载数据和切换页码功能的表格
function create_dynamic_table(): void {
?>
<div class="column">
<table id="myTable">
<thead>
<tr>
<th>栏目名称</th>
<th>栏目标识</th>
<th>栏目路径</th>
</tr>
</thead>
<tbody>
<!-- 这里是动态加载的数据行 -->
</tbody>
</table>
</div>
<script>
jQuery(document).ready(function ($) {
var table = $('#myTable').DataTable({
lengthMenu: [10, 15, 20, 30],
pageLength: 20, // 设置每页条数
serverSide: true,
columns: [
{data: 'columnName'},
{data: 'columnLabel'},
{data: 'columnUrl'}
],
ajax: {
url: '<?php echo plugins_url( 'column/data.php', plugin_dir_path( __FILE__ ) );?>',
type: 'POST',
data: function (d) {
const pageSize = d.length
const current = d.start / pageSize + 1
d = {
pageSize,
current
}
return d
},
dataType: 'json'
},
});
});
</script>
<?php
}


?>
konglong1
74 天前
data.php 文件
都在同一个路径下

<?php
// 获取分页相关的信息

// 获取总记录数
$pageSize = $_POST['pageSize']; // 假设总记录数为 10
$current = $_POST['current']; // 假设总记录数为 10
$res = [];
// for ( $i = 1; $i <= 20; $i ++ ) {
// $rowData = [
// 'columnName' => '数据' . $i,
// 'columnLabel' => '数据' . $i,
// 'columnUrl' => '数据' . $i,
// ];
//
// $res[] = $rowData;
// }


// 输出 JSON 数据
$response = create_signed_rest_request( '/api/cms/column/getAllColumn', [
'method' => 'POST',
'body' => [
'pageSize' => $pageSize,
'current' => $current,
],
] );


// 将查询结果转换为 JSON 格式
$data = [
'data' => $res,
'recordsFiltered' => 100,
];
echo json_encode( $data );
konglong1
74 天前
为什么不直接 ajax 请求服务器 ,因为 php 配了验签
konglong1
74 天前
擦 wp_remote_post 不让用 说找不到这个方法 这是为什么啊
konglong1
74 天前
@konglong1 我直接就在 index 里调用打印 是行得通的啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1058534

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX