如何使用 json 发送 html

How to send html using json

我正在为 wordpress 创建一个插件,我想管理一个学院的课程。我使用 fullcalendar 来显示数据库中的记录,使用 json。问题是我想在每个事件(简单链接)上创建编辑和删除按钮。我尝试使用 json 发送 html 代码,但我在浏览器页面中将 html 标记作为文本。

有没有办法将工作 html 添加到我的 json?

<?php
//json response view lessons
add_action('wp_ajax_utt_json_calendar','utt_json_calendar');
function utt_json_calendar(){
    global $wpdb;
    $viewType = $_POST['viewType'];
    $viewFilter = $_POST['viewFilter'];
    $lessonsTable = $wpdb->prefix."utt_lessons";
    $lessons = $wpdb->get_results("SELECT * FROM $lessonsTable WHERE classroomID=$viewFilter;");
    $jsonResponse = array();
    foreach($lessons as $lesson){
        $result[title] = $lesson->lessonID."<a href='#'>asd</a>";
        $result[start] = $lesson->datetime;
        array_push($jsonResponse,$result);
    }
    echo json_encode($jsonResponse);
    die();
}
?>

Fullcalendar 查询 php 脚本并期望 text 用于 event.title.

如果您想添加活动链接,您需要在 FullCalendar 选项中执行此操作 (Javascript)。

您正在查找的 FullCalendar 选项是 eventRender。它应该看起来像:

eventRender: function(event, element) {
    element.find('.fc-title').append($("<a href='#'>"+event.editlink+"</a>"));
}

看起来像 this fiddle

然后在您的 PHP 中,将 属性 editLink(或任何您想命名的名称)添加到您返回的 JSON:

foreach($lessons as $lesson){
    $result[title] = $lesson->lessonID;
    $result[start] = $lesson->datetime;
    $result[editLink] = "asd"; //you could use HTML here but it's better in JS
    array_push($jsonResponse,$result);
}

真的没有办法只在 PHP 中做你想做的事,因为你必须修改 FullCalendar 选项(必须在 JS 中完成) .