gantt.parse 或 gantt.load 的参数无效(laravel 和 vuejs)
Invalid argument for gantt.parse or gantt.load (laravel and vuejs)
我正在尝试在我的项目中使用 Dhtmlx 库构建甘特图,所以我尝试在 gantt.load 函数中传递项目的 ID 以仅显示该项目的甘特图。但是它向我展示了这些错误
"Invalid argument for gantt.parse or gantt.load. An object or a JSON string of format https://docs.dhtmlx.com/gantt/desktop__supported_data_formats.html#json is expected. Actual argument value: "失败“”
任何帮助家伙???
这是我的 Gantt.vue:
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<div id="gantt_here">
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data(){
return{
key: this.$route.params.id,
}
},
created(){
gantt.config.xml_date = "%Y-%m-%d %H:%i:%s";
gantt.config.order_branch = true;/*!*/
gantt.config.order_branch_free = true;/*!*/
gantt.init("gantt_here");
gantt.load("/api/data/"+this.key);
var dp = new gantt.dataProcessor("/api");/*!*/
dp.init(gantt);/*!*/
dp.setTransactionMode("REST");/*!*/
},
mounted() {
console.log('Component mounted.')
}
}
这是我的 GanttController:
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use App\Task;
use App\Link;
class GanttController extends Controller
{
public function get($id){
$tasks= new Task;
if($tasks->projet_id== $id){
$tasks = new Task();
$links = new Link();
return response()->json([
"data" => $tasks->orderBy('sortorder')->get(),
"links" => $links->all()
]);
}
else{
return response()->json([
"failed"
]);
}
}
}
这是我在api.php的路线:Route::get('/data/{id}', 'API\GanttController@get');
甘特图需要 JSON 格式的数据。但是 gantt.load()
方法不会单独将参数发送到服务器端。你可以尝试使用自定义路由,但是你需要手动实现一个函数将数据发送到服务器端,然后你可以在"create"
、"update"
和"delete"
中添加动作:
https://docs.dhtmlx.com/gantt/desktop__server_side.html#customrouting
或者你可以尝试在controller中获取ID,例如:
public function get($id){
// $id: "/api/data/34"
$id = substr($id, 10); // $id: "34"
$tasks= new Task;
if($tasks->projet_id== $id){ // $id: "34"
我正在尝试在我的项目中使用 Dhtmlx 库构建甘特图,所以我尝试在 gantt.load 函数中传递项目的 ID 以仅显示该项目的甘特图。但是它向我展示了这些错误 "Invalid argument for gantt.parse or gantt.load. An object or a JSON string of format https://docs.dhtmlx.com/gantt/desktop__supported_data_formats.html#json is expected. Actual argument value: "失败“” 任何帮助家伙??? 这是我的 Gantt.vue:
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<div id="gantt_here">
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data(){
return{
key: this.$route.params.id,
}
},
created(){
gantt.config.xml_date = "%Y-%m-%d %H:%i:%s";
gantt.config.order_branch = true;/*!*/
gantt.config.order_branch_free = true;/*!*/
gantt.init("gantt_here");
gantt.load("/api/data/"+this.key);
var dp = new gantt.dataProcessor("/api");/*!*/
dp.init(gantt);/*!*/
dp.setTransactionMode("REST");/*!*/
},
mounted() {
console.log('Component mounted.')
}
}
这是我的 GanttController:
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use App\Task;
use App\Link;
class GanttController extends Controller
{
public function get($id){
$tasks= new Task;
if($tasks->projet_id== $id){
$tasks = new Task();
$links = new Link();
return response()->json([
"data" => $tasks->orderBy('sortorder')->get(),
"links" => $links->all()
]);
}
else{
return response()->json([
"failed"
]);
}
}
}
这是我在api.php的路线:Route::get('/data/{id}', 'API\GanttController@get');
甘特图需要 JSON 格式的数据。但是 gantt.load()
方法不会单独将参数发送到服务器端。你可以尝试使用自定义路由,但是你需要手动实现一个函数将数据发送到服务器端,然后你可以在"create"
、"update"
和"delete"
中添加动作:
https://docs.dhtmlx.com/gantt/desktop__server_side.html#customrouting
或者你可以尝试在controller中获取ID,例如:
public function get($id){
// $id: "/api/data/34"
$id = substr($id, 10); // $id: "34"
$tasks= new Task;
if($tasks->projet_id== $id){ // $id: "34"