0

我使用kendo UI网格并连接到Mysql,功能更新和读取是可以的,但是当我使用create,并在新行中输入一些数据时,我点击更新但它没有任何努力。我不知道怎么了?我的网格是:

$("#grid").kendoGrid({
        dataSource: {
            transport: {
                read: "data/channels.php",
                update: {
                    url: "data/channels.php",
                    type: "POST"
                },
                create: {
                    dataType: "json",
                    url: "data/channeladd.php",
                    type: "POST"
                }
            },
            schema: {
                data: "results",
                model: {
                    id: "channelId",
                    fields: {
                        channelName: { validation: { required: true} }
                    }
                }
            }
        },
        columns: [{ field: "channelName", title: "Channel Name" }, { field: "channelIp", title: "Channel Ip" }, { field: "channelPort", title: "Channel Port" }, { command: ["edit", "destroy"], title: " ", width: "172px" }],
        editable: "inline",
        navigable: true,  // enables keyboard navigation in the grid
        toolbar: [ "create" ]  // adds save and cancel buttons
    });

在 channeladd.php 中:

$link = mysql_pconnect("localhost", "root", "THE PASSWORD") or die("Unable To Connect To Database Server");
mysql_select_db("THE DB") or die("Unable To Connect To THE DB");

// add the header line to specify that the content type is JSON
header("Content-type: application/json");

    $request = json_decode(file_get_contents('php://input'));

    // DISCLAIMER: It is better to use PHP prepared statements to communicate with the database.
    //             this provides better protection against SQL injection.
    //             [http://php.net/manual/en/pdo.prepared-statements.php][4]

    // get the parameters from the get. escape them to protect against sql injection.

    $channelnName = $request["channelName"];
    $channelnIp = $request["channelIp"];
    $channelnPort = $request["channelPort"];

    $sql = "INSERT INTO channel (channelName, channelIp, channelPort) VALUES (".$channelnName.",".$channelnIp.",".$channelnPort.")";

    $rs = mysql_query($sql);

    if ($rs) {
        echo true;
    }
    else {
        header("HTTP/1.1 500 Internal Server Error");
        echo false;
    }

在此处输入图像描述

任何建议表示赞赏。

4

1 回答 1

0

对此感到抱歉,我不知道原因,但是当我删除该行时:

header("Content-type: application/json");

什么操作都OK。谢谢关注,迪普 :)

于 2013-09-05T06:54:29.063 回答