【发布时间】:2019-01-26 22:11:25
【问题描述】:
我有一个 django 后端,我在其中添加了 corsheader 和中间件。
我有一个 html 页面,我从该页面发送 AJAX XMLHttpRequest POST 到我的 localhost 托管 django 应用程序,但该帖子从未通过。它会触发一个 GET 事务,并且该事务永远不会到达服务器。
前端HTML页面的代码如下:-
<button type="submit" class="btn btn-success btn-lg" id="sub1"
onClick=loadDoc() >Login </button>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if( this.readyState == 4 && this.status == 200 ) {
location.replace(Trial.html);
}
};
xhttp.open("POST", "http://localhost:XXXX/XXXX/XXXX/", true)
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send();
}
</script>
谁能指出哪里出了问题?当我使用表单数据时,帖子有效,但当我使用 javascript 时,它不起作用。
【问题讨论】:
-
提供的本地端点是什么? Django REST 框架?还是返回
application/json的视图?端点 CSRF 是否豁免?我可能有一个例子,具体取决于 jQuery 中的答案。 -
端点只是一个处理从 html 页面请求的 url 的视图。 bankckend 是 csrf 豁免的。该视图现在只是返回一个成功字符串,但最终我会在它工作后返回 json。
标签: ajax django python-3.x cors django-cors-headers