为了账号安全,请及时绑定邮箱和手机立即绑定

Django:如何保存 mxGraph,以便用户刷新图形时保持不变?(异步)

Django:如何保存 mxGraph,以便用户刷新图形时保持不变?(异步)

喵喵时光机 2021-09-25 16:49:53
我将用户创建的当前 mxGraph 转换为存储在数据库 (ajax.js) 中的 XML。我在我的视图中将此作为 JSONResponse 返回到我的 ajax 请求 (views.py)。存储在数据库中的数据会保存,因为我在 Django 管理页面中检查过,并且每个保存按钮都会更新 xml。这一切正常,但问题是当我刷新页面时,创建的图形不会留在页面上。ajax.jsvar 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());                    }                });模型.pyclass Member(User):data = models.TextField(null=True)def __str__(self):    return self.usernamePS 我不知道为什么我的 JS 没有颜色,我添加了 javascript 标签但它不起作用......提前抱歉
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

我必须像上面那样创建一个 Ajax GET 请求并解码 mxGraph。


查看完整回答
反对 回复 2021-09-25
  • 1 回答
  • 0 关注
  • 286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号