【问题标题】:How django and ExtJS passing data to each other by JSON?django 和 ExtJS 如何通过 JSON 相互传递数据?
【发布时间】:2013-10-03 15:51:41
【问题描述】:

我是网络开发的新手,最近我正在学习使用 django + ExtJs 构建网络服务器。但我对如何一起使用 django + ExtJS 感到困惑。 对于django来说,它有模板来显示数据,传给html文件的参数可以是dict,也可以发送JSON。我正在尝试将其用作网络服务器的后端。 ExtJS,支持 JSON。

然后我的问题来了: 如何使 .html 文件(django 用作模板层)接受“JSON”?看来 ExtJS 没有能力通过 socket 或其他 IPC 发送 json 数据。 似乎 ExtJS 有能力使用 AJAX 将数据“发布”到后端,但是,我不确定 .html 如何使用 JSON 从后端获取数据?我下载了 ExtJS 4.2.1 版本,并在文件中找到了一些示例,但是,它仅提供了一些从“json 文件”中获取数据的示例。 谁能给我一个例子或告诉我应该学习哪个方面或简要解释其机制?

【问题讨论】:

  • 这个问题太混乱了,无法回答。 “html”文件不“接受”任何东西,它们只是模板或静态页面。
  • 丹尼尔:在我看来,我可以理解潜在的困惑,希望我能帮助 OP,但我同意这个问题不清楚,可能对其他人没有价值。我不确定关于此类问题的政策是什么。

标签: django json extjs


【解决方案1】:

这不是在模板层,而是在视图层。您应该在 Python 中编写一个 查看函数 并将其分配给某个 URL 地址。在该视图函数中,您可以访问 ExtJS 发送的 JSON 数据并按照您的意愿处理它。

我完全误解了你的问题,这是更新后的答案:

  • 在 Django 端,您应该编写一个视图函数,该函数将返回 JSON 响应,并将该视图分配给某个 URL 地址。 (如果您是新手,请参阅 Django 文档中的 How to write a view。)
  • 在 ExtJS 端,您应该向该 URL 发出 Ajax 请求,并提供success 回调函数,该函数将能够访问 Django 视图函数的输出。 (似乎 ExtJS 中的 Ajax 请求通常使用 Ext.Ajax.request 完成。)

【讨论】:

  • 非常感谢。我不确定我是否清楚。我的意思是在 ExtJS 从 django 接收数据或任何可以发送 JSON 的数据之后,(我不希望 JSON 对象在 URL 中作为 .html 参数传递),除了通过 URL 传递参数(尤其是 JSON)“?=para1= 1&para2=2.."方式,还有其他方式可以更优雅地接收 JSON 吗?
  • 嗯,我还是不清楚:你说的是在 Django 中还是在 ExtJS 中接收 JSON?
  • 如果您从 ExtJS 向 Django 发送数据,您可以将数据作为 JSON 放入请求正文中,而不是使用 GET 参数 (?param=x)。
猜你喜欢
  • 2018-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 2018-11-10
相关资源
最近更新 更多