範例都很佛的放在 Github 供人下載 |
範例 JS 的這段程式碼讓我覺得非常奇怪:
var url = "php/service.php";後端使用了 PHP,卻在前端使用 AspNet 建構式。
var db = DevExpress.data.AspNet.createStore({
key: "ID",
loadUrl: url,
insertUrl: url,
updateUrl: url,
deleteUrl: url
});
除了 DevExtreme 主程式外,還需要額外下載 ASP.NET 外掛程式 (JavaScript) |
再看看 PHP 是怎麼寫的:
// Service.php大致上是要回傳和 ASP.NET 相同的封包所作的設計。
switch($_SERVER["REQUEST_METHOD"]) {
case "GET": {
$params = GetParseParams($_GET);
$response = $controller->Get($params);
break;
}
case "POST": {
$params = GetParamsFromInput();
$response = $controller->Post($params["values"]);
break;
}
case "PUT": {
$params = GetParamsFromInput();
$response = $controller->Put($params["key"], $params["values"]);
break;
}
case "DELETE": {
$params = GetParamsFromInput();
$response = $controller->Delete($params["key"]);
break;
}
}
從範例程式可以知道它用上 HTTP 傳輸協定的:GET、POST 和不常見的 PUT 及 DELETE 請求方法。
後端的 PHP 程式則依據 JS 元件傳送來的設定,回傳相關屬性的封包內容。
整個包裝得非常好,DevExtreme 所寫的 PHP 的類別完全可以直接利用,可以感受到官方的誠意十足。
可惜我的虛擬主機不提供 DELETE 和 PUT 請求方法,不得不尋求【Custom Sources】自己刻程式碼的方法。
(To be continued)
See also:
- DevExtreme PHP Data - Github
- DevExtreme ASP.NET Data - Github
- DevExtreme PHP Service
- DevExtreme Custom Sources
- 超文本傳輸協定:請求方法 - Wiki
沒有留言:
張貼留言