当我从表单发送请求时,我遇到了ajax的问题,但是没有从表单中获取值
这是我的观看代码
def create(request):
if request.method == 'POST':
msg_text = request.POST.get('the_massage')
data = {}
form = ChatApp(message=msg_text, user=request.user)
form.save()
data['message']=form.message
data['user']=form.user.username
return JsonResponse(data)
else:
return JsonResponse({'nothing coming thrue'})
它得到了the_massage变量,但它给了我空值
这是我的ajax功能:
$(function () {
$('#main-form').on("submit" ,function () {
console.log("create function is here");
var form = $(this);
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: {the_massage:$('#msgbox').val()},
dataType: 'json',
success: function(json) {
console.log(json);
console.log('success');
},
error: function(error){
console.log('we have error');
},
});
});
});
当我控制台记录它刚刚在控制台中传来的值时 请帮我 并在控制台中告诉我这个:
资源被解释为文档但以MIME类型传输 application / json:“http://localhost:8000/create/”。
答案 0 :(得分:0)
在您的活动中调用该函数:
$('#main-form').on("submit" ,function (event) {
event.preventDefault();
console.log('submited');
console.log($('#msgbox').val())
created();
});
答案 1 :(得分:0)
我在这里看到很多可能的问题。
1)仅针对开发提议,从您的视图中删除@login_required
(如果有)并添加@csrf_exempt
以避免此问题。
2)请查看您视图中的request.body
。
3)如果第1点和第2点不起作用,请填写此呼叫的服务器响应:POST localhost:8000/create 403 (Forbidden)
答案 2 :(得分:0)
这是写答案:我现在解决了这个问题以及它在git hub上https://github.com/mhadiahmed/tinypice