Jquery 无法在ajax中加载资源
我正在尝试使用ajaxajax访问django模型中的一些字符串。我是阿贾克斯的新手,我不知道哪里出了问题 下面是Jquery的代码:-Jquery 无法在ajax中加载资源,jquery,ajax,django,Jquery,Ajax,Django,我正在尝试使用ajaxajax访问django模型中的一些字符串。我是阿贾克斯的新手,我不知道哪里出了问题 下面是Jquery的代码:- $(document).ready(function () { $("input.ssd").click(function () { var lsid = $(this).attr("id"); lsid = Number(lsid); $.ajax({ type: "POST"
$(document).ready(function () {
$("input.ssd").click(function () {
var lsid = $(this).attr("id");
lsid = Number(lsid);
$.ajax({
type: "POST",
url: "/a_solution/",
data: {
l_sid: lsid,
},
success: console.log("success")
datatype: 'html',
error : console.log("oops! something went wrong"),
});
});
});
下面是url.py
中的url映射:
url(r'^a_solution/$', views.a_detail, name = 'a_detail'),
PS:-jquery.min.js:2帖子403(禁止)
jquery.min.js:2 XHR加载失败:POST“”
.默认情况下,所有POST请求都受到CSRF(跨站点请求伪造)的保护。因此,您必须将
csrfmiddlewaretoken
与Ajax请求数据一起发送
通常我所做的是在模板中的某个地方呈现csrf令牌(如果您有一个表单将其放在表单中,但是由于它是Ajax请求,所以位置并不重要)
然后在jQuery代码中可以访问它。另外,在Ajax调用中,success
和error
需要一个函数(使用console.log()
调用可能会导致错误,不确定):
默认情况下,所有POST请求都受到CSRF(跨站点请求伪造)的保护。因此,您必须将
csrfmiddlewaretoken
与Ajax请求数据一起发送
通常我所做的是在模板中的某个地方呈现csrf令牌(如果您有一个表单将其放在表单中,但是由于它是Ajax请求,所以位置并不重要)
然后在jQuery代码中可以访问它。另外,在Ajax调用中,success
和error
需要一个函数(使用console.log()
调用可能会导致错误,不确定):
修改代码后,它给出了
500(内部服务器错误)
。你能解释一下如何获得细节错误吗?别忘了接受维托的回答。修改代码后,它给出了500(内部服务器错误)
。你能解释一下如何获得细节错误吗?别忘了接受维托的回答。
{% csrf_token %}
$(document).ready(function () {
$("input.ssd").click(function () {
var lsid = $(this).attr("id");
lsid = Number(lsid);
var csrf = $("[name='csrfmiddlewaretoken']").val();
$.ajax({
type: "POST",
url: "/a_solution/",
data: {
'l_sid': lsid,
'csrfmiddlewaretoken': csrf
},
success: function (data) {
console.log("success");
console.log(data);
},
datatype: 'html',
error: function () {
console.log("oops! something went wrong");
}
});
});
});