ajaxで取得したデータで剣道グリッドを作成しようとしています。ここでアヤックスは次のとおりです。alert(result)
この時剣道グリッド:ajaxからデータを入力する
var model = @Html.Raw(Json.Serialize(Model));
$(document).ready(function() {
$.ajax({
url: "/Utilities/Report/Run",
data: JSON.stringify(model),
contentType: "application/json",
type: "POST",
success: function(result) {
var ds = new kendo.data.DataSource({
data: result
});
alert(result);
$("#grid").data("kendoGrid").setDataSource(ds);
},
error: function(result) {
options.error(result);
}
});
$("#grid").kendoGrid({
toolbar: ["excel", "pdf"],
excel: {
fileName: "test"
},
pdf: {
fileName: "test"
},
});
});
は、データがどのように見えるかです:
[
{"TEST":"one"},
{"TEST":"two"},
{"TEST":"three"}
]
AJAX呼び出しが動作しているように見え、データが私にはよさそうだが、剣道グリッドがあります更新しない場合は空白のままです。私も何の誤りもありません。私はkendoGridをajax success関数の中に同じ結果で配置しようとしました。私はとread
データソースを使用してデータを取得しようとしましたが、それは私にエラーを与え続けました:n.slice is not a function
。しかし、定義されているスキーマがなかったためだと思う人もいました。私が検索しているデータの種類のため、これを定義することはできません。サーバーから取得されたデータには、任意の列/フィールド名、および任意の数の列を含めることができます。しかし、それは複雑なJSONではありません。
グリッドにこのデータを入力させるにはどうすればよいですか?
バディ、私はすでにその問題を持っていたが、私はそれを再現でもないソリューションを思い出すことができません。しかし、私が思い出した小さなことは、あなたがdataSourceに渡すオブジェクト、あなたのケースの 'result'オブジェクトの中にあるものです。それがjavascriptオブジェクトであり、文字列などではないことを確認してください( 'contentType:" application/json "'を追加したことに気付いても)。おそらく '{data:result}'として使用し、 '' schema.data: "data" 'を定義するだけで、あなたのデータを理解できるようにするのです。この問題はうんざりし、永遠に起こってから、私は彼らがそれを決して解決しないと思っています。 – DontVoteMeDown