V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
konglong1
V2EX  ›  程序员

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

  •  
  •   konglong1 · 74 天前 · 669 次点击
    这是一个创建于 74 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ajax 请求本地 data.php 文件。data.php 请求了服务端数据 但是一请求 data.php 就 500 了
    感觉像是跨域, 但是我这应该算是代理模式吧
    5 条回复
    konglong1
        1
    konglong1  
    OP
       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
        2
    konglong1  
    OP
       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
        3
    konglong1  
    OP
       74 天前
    为什么不直接 ajax 请求服务器 ,因为 php 配了验签
    konglong1
        4
    konglong1  
    OP
       74 天前
    擦 wp_remote_post 不让用 说找不到这个方法 这是为什么啊
    konglong1
        5
    konglong1  
    OP
       74 天前
    @konglong1 我直接就在 index 里调用打印 是行得通的啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.