javascript - django ajax javascript 不工作

标签 javascript ajax django python-2.7

1。我正在尝试将 ajax 添加到我的 django Web 应用程序中...我编写的代码如下所示...为了测试,我想在 id="id_ajax1"的 html 元素中显示文本...代码成功显示文本,但它会自动重新加载页面...

2。当我从这一行下面给出的代码编写第一个代码时,行为如上所述...当我从下面的代码编写第二个代码时,它显示 损坏的管道 ('127.0.0.1', 46958)

return HttpResponse("text to be returned asynchronously")

return HttpResponse("text to be returned asynchronously", mimetype="application/javascript")
<小时/>

代码:

ajax.html

<form action onsubmit="ajax1()">
 <span id="id_ajax1"></span>
 <button class="col-5" type="submit">click</button> 
</form>

ajax.js

function ajax1() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("id_ajax1").innerHTML = this.responseText;
        }
    };

    var url = "test/ajax1";
    xhttp.open("GET", "/test/ajax1", true);
    xhttp.send();
}

urls.py

urlpatterns = [
    url(r'^test/ajax1/$', views.ajax1, name='ajax1'),
]

views.py

def ajax1(request):
    return HttpResponse("You have successfully written your first ajax code")

最佳答案

有多个问题可能导致此行为:

  1. 您正在提交表单,因此正在重新加载页面。 ajax1() 函数应返回 false 以防止浏览器自动发送表单。
  2. xhr.open() 中使用的 url 与 urls.py 中定义的 url 不同
  3. 我不确定是什么原因导致管道损坏错误。这可能是模仿类型。 application/javascript 用于将实际的 Javascript 代码发送到浏览器。发送文本(如 AJAX)所需的 mimetype 是 text/plain。在您的情况下,根本不需要定义 mimetype。

关于javascript - django ajax javascript 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777584/

相关文章:

javascript - 在 Google Apps 脚本上提示用户输入,错误为 `getUi()` 方法

php - 包含国家、地区、城市的注册表 - 如何管理 200 万条 mySQL 记录?

python - Django SMTP [Errno 111] 连接被拒绝

django - 用于创建具有一对多关系的新对象的内联表单集?

javascript - 如何停止 if 语句的 for in 循环

javascript - 在 Adob​​e Air 中将相机视频源附加到 html

javascript - rails 4 : JS doesn't work when I follow links

javascript - 如何定义一个函数来修改 Ajax 请求上提交到服务器的数据

python - flask:跨 View 函数传递参数

python - Elastic Beanstalk 上用于 Django 的 PostgreSQL