からツリーをリロード(それが正常に動作します)私は、Ajaxを使用して、私のjsTreeでXMLフラットツリーをロードしていますので、宣言は次のようになります。変更AJAXのオプションとサーバー
$("#jstree").jstree({
"xml_data": {
// "data": $xmlFlatData,
"ajax": {
type: "POST",
async: true,
"url": loc + "/AjaxReturnTree",
data: '{"longnames":"'+flag+'"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (msg) {
var mm = eval('(' + msg + ')'); ; // create object to get rid of json
return mm.d;
},
error: function() {
// TODO process error
}
},
"xsl": "flat",
"override_ui": "true",
"real_checkboxes": "true"
},
"plugins": ["xml_data", "themes", "checkbox", "ui"]
});
今、私はリロードする必要がありますツリーと "longnames"の部分を別のフラグ(0/1)に変更しますが、他のオプションは変更しないでください。
私はこのような何かを使用しようとしています:
$("#jstree").jstree({
"xml_data": {
"ajax": {
cache: false,
data: '{"longnames":"' + flag + '"}'
}
}
});
$("#jstree").jstree("refresh");
をしかし、それは新しいAJAX要求をトリガしない、唯一のリロードせずに画面上のツリーを更新します。
ツリーをサーバーからリロードする方法を教えてください。
また、完全に新しいツリーオブジェクトを作成するのではなく、古いAjax設定のプロパティを変更することができますか? それとも、jQueryの(のgetDataを実行)し、最初の実行から結果だけを保持します: