我将用户创建的当前mxGraph转换为存储在数据库中的XML(阿贾克斯.js). 在我的视图中,我将其作为对ajax请求的JSONResponse返回(视图.py). 在
存储在数据库中的数据将被保存,正如我在Django管理页面中所签入的那样,xml将根据save按钮进行更新。在
这一切都很好,但是问题是,当我刷新页面时,所创建的图形不会停留在页面上。在
阿贾克斯.js
var button = mxUtils.button('Save', function()
{
//var url = "{%url'login'%}"
//var url = "{% url 'myapp:productdetail' %}";
//location.href = '/saveData/'
var encoder = new mxCodec();
var node = encoder.encode(graph.getModel());
var xml = mxUtils.getPrettyXml(node);
var csrftoken = getCookie('csrftoken');
$.ajax({
type: "POST",
url: "/saveData/",
data: { "xml": xml},
headers:{
"X-CSRFToken": csrftoken
},
success: function(data){
//console.log("data" + data[0])
//console.log(graph)
//var xmlDoc = data[0]
var xmlDoc = mxUtils.parseXml(data[0]);
//var xmlDoc = mxUtils.load("/saveData/").getXml();
//console.log("xmlDoc " + xmlDoc)
var node = xmlDoc.documentElement;
//console.log("node " + node)
var dec = new mxCodec(node.ownerDocument);
//console.log("dec " + dec)
//console.log("graph model " + graph.getModel())
dec.decode(node, graph.getModel());
}
});
视图.py
^{pr2}$模型.py
class Member(User):
data = models.TextField(null=True)
def __str__(self):
return self.username
p.S我不知道为什么我的JS没有颜色,我添加了javascript标记,但它不起作用。。。提前道歉
我必须创建一个ajaxget请求,并按照上面的方法对mxGraph进行解码。在
相关问题 更多 >
编程相关推荐