django在页面中使用ajax,url传值一直找不到url时(传值出现问题时),使用以下方法解决。
<script>
function newpassword(n) {
layui.use('layer', function () {
var layer = layui.layer;
layer.msg('您确定重置密码呀?', {
time: 3000,//3秒自动关闭
btn: ['确定', '取消'],
yes: function (index) {
$.ajax({
url: "{% url 'newPassword'%}",
type: "post",
dataType: "json",
data: {csrfmiddlewaretoken: '{{ csrf_token }}', n},
success: function (data) {
layer.msg(data.code, {time: 2000});
//location.reload(); //后再刷新
},
error: function () {
alert("错误");
}
});
layer.close(index);
}
});
});
};
</script>
<td><a href="#" onclick="newpassword('{{ i.company_name }}')">重置</a></td>
# 重置密码使用
path('newPassword', newPassword, name="newPassword"),
def newPassword(request):
rej = {}
if request.method == 'POST':
name = request.POST.get('n')
c_info = CompanyInfo.objects.get(company_name__username=name)
c_user = UserInfo.objects.get(baseinfo_ptr_id=c_info.company_name_id)
c_user.password = 123456
c_user.save()
rej['code'] = "重置密码成功"
return JsonResponse(rej)