【问题标题】:URL for JQuery.getJSON()?JQuery.getJSON() 的 URL?
【发布时间】:2014-07-14 18:54:53
【问题描述】:

我正在关注this example 为我的 Django 管理页面获取变量内联。一切正常,直到 javascript 函数中的这一行:

$.getJSON('/ajax/category-type/', .....)

服务器为/ajax/category-type/ 提供404。我对 AJAX(或 JSON)不是很熟悉,所以我不确定问题是什么。

这是我需要填写的占位符 URL 吗?我是否缺少依赖项? (我尝试将 django-ajax 安装到我的项目中,但这并没有改变任何东西。)

我觉得这可能是我错过的一些愚蠢的简单事情。

编辑:

我确实需要将此网址添加到我的 urls.py 中,但这只是部分解决了问题。

在解决了这个问题之后,我在视图中添加了一个打印语句,它确认当我进入管理页面时它被点击了。但紧随其后,我仍然在服务器中收到相同的 404 错误。它总是从categories = get_list_or_404(Category, id=id) 行得到 404。我相信这应该是用id 获取所有Categorys,但我不确定在这种情况下实际的id 是什么。

【问题讨论】:

  • 当然,这只是您需要在 urls.py 上设置的网址,以指向该答案中的视图?

标签: jquery ajax django


【解决方案1】:

您的 ajax URL 需要指向后端 (django) 上的有效资源。我对 django 不是很熟悉,但如果它是一个 REST 框架,您可能可以通过定义路由在后端定义资源,例如'api/users/{id}',它可能会按用户的 ID 返回用户。但它必须是你事先定义好的东西。看起来有一些关于此的文档:

https://docs.djangoproject.com/en/dev/topics/http/urls/

判断它是否是 ajax (getJSON) 的有效 URL 的一种方法是将其放入浏览器中,看看它是否返回任何内容。当然,当您将域放入浏览器时,您还需要包含域,例如http://localhost:64611/ajax/category-type/

【讨论】:

  • 是的,我确实需要将 URL 添加到我的 urls.py 中。我还在视图中添加了一条打印语句,它确认当我进入管理页面时它被点击了。但紧随其后,我仍然在服务器中得到相同的 404。它总是从categories = get_list_or_404(Category, id=id) 得到 404。我什至不确定id 在此指的是什么...
  • 我不知道您的所有应用程序应该做什么或您的网址是什么样的,但我猜您需要在您的网址中包含一个有效的类别 ID,例如/ajax/category-type/1。我猜这会在某个数据库中查找该 ID,如果找不到则返回 404。但我真的只是在这里猜测 - 听起来你需要更多地阅读这个例子并弄清楚它应该如何工作。无论哪种方式,如果您的请求到达后端,那么您的原始问题在技术上得到了回答,并且您的请求现在使用“有效”URL。只需要有效身份证件
猜你喜欢
  • 2014-10-18
  • 2013-10-10
  • 1970-01-01
  • 2023-03-06
  • 2011-06-02
  • 2011-10-21
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多