在django中使用ajax将数据从mysql传递到html
Passing data from mysql to html using ajax in django
我有一个使用ajax get
方法将数据从views.py传输到html的问题。我在views.py中从models.py中获得正确的json对象,但javascript函数ShowStores
没有连接ourstores.html和views.py。我甚至没有看到ShowStores.js的任何输出。下面是代码:
models.py
class Supermarket(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
country = models.CharField(max_length=50)
def __unicode__(self):
return self.name
views.py
def ourstores(request):
stores_list = Supermarket.objects.all()
response_data = serializers.serialize('json',stores_list)
return HttpResponse(response_data,content_type="application/json")
ShowStores.js
function ShowStores() {
console.log("show stores is working");
$.ajax({
url : "ourstores/",
type : "GET",
dataType : "json",
success: function(response){
$("#show_stores").html(response);
console.log(response);
console.log("success");
}
});
};
ourstores.html
{% extends 'base.html' %}
{% block content %}
<div class='col-sm-12' style='text-align:center'>
<h2>Check out our stores:</h2>
<div id="show_stores" align="center" onload="ShowStores()"></div>
</div>
{% endblock %}
你从视图返回JSON,而不是HTML,所以你不能简单地传递JSON返回到.html()
方法从jQuery并期望它自动渲染JSON到HTML。
相反,您需要使用类似Underscore模板的东西来呈现返回的对象数组中的每个项。
此外,Django有一个内置的JsonResponse,所以你不必自己创建。
或者,您可以始终呈现HTML服务器端并将其传递回jQuery,但这取决于返回的有效负载的大小,这可能或多或少有效。
当DOM准备好时,我也会调用ShowStores()
:
$(document).ready(function(){
ShowStores();
});
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- HTML表单将数据POST到MySQL
- 当select标记触发onChange事件时,从mysql数据库加载html表
- HTML-使用mysql.php生成一个选择框.我怎样才能更改“;值“;生成的选择框选项的
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- 来自mysql的动态值用于html代码点火器视图中的图形
- 如何将mysql查询的结果获取到html文本框中
- Interfacing html, javascript, php and mysql
- HTML按钮(onlick)在将数据发送到MySQL表时不起作用
- 我怎样才能为一个简短的项目托管 HTML/PHP/MySQL
- 从php中的mysql中复制带有嵌入式下拉列表的html表单javascript
- 使用AJAX/PHP让HTML按钮将数据插入MySQL数据库
- 在选择下拉选项时,从mysql数据库填充HTML表单字段
- Ckeditor:如何在mysql中避免使用Ckeditor中的html标签来节省时间
- AJAX使用从PHP生成的HTML调用的函数更新MYSQL数据库
- HTML画布保存在mysql数据库上
- 使用html表显示MySql数据
- Intel XDK - 将 HTML 连接到 PHP,以使用 MySQL 将值保存到数据库
- 带有客户端脚本的HTML表,可存储在Mysql数据库中