Я хочу сделать запрос ajax в рамках Django. Однако я не перехожу, чтобы получить данные от клиента в json. Он работает, когда я не использую Json. Если я использую dataType: 'json' с {'a': 'value'} в ajax, я не могу получить его в view.py, результат ничего ... Однако, если я использую данные: $ (this) .serializeArray() в ajax, я могу получить результат с запросом.POST. Тем не менее, мне действительно нужно настроить мои данные и отправить на мои view.py другие данные, чем данные из формы. Я хотел бы отправить {'a', 'mydata', 'form': myformdata} ... Есть ли способ сделать это?Json не работает в Django с Ajax
шаблона:
<form id="ajax2" action="/seghca/test-post/" method="post">{% csrf_token %}
Nom : <input type="text" name="nom" value="" id="nom"/><br/>
prenom : <input type="text" name="prenom" value=""/><br/>
<input type="submit" value="Envoyer"/>
</form>
<div id="result"></div>
JavaScript:
$(document).ready(function(){
// POST AJAX
$("#ajax2").submit(function() {
var urlSubmit = $(this).attr('action');
var data = $(this).serializeArray();
data.push({
key: "keyName",
value: "the value"
});
$.ajax({
type: "POST",
url: urlSubmit,
dataType: "json",
data : data,//$(this).serializeArray(),
success: function(response){
var json_response = JSON.parse(response);
// now get the variables from the json_response
$('#result').html(json_response.html);
}
});
return false;
});
});
view.py (на основе AJAX запустить вид test_post, home2 это вид формулярной):
from datetime import datetime
from django.http import HttpResponse, Http404
from django.shortcuts import redirect, render
from seghca.models import Article
from django.shortcuts import render_to_response
from django.http import HttpResponse
from django.template import RequestContext
from django.views.decorators.csrf import csrf_exempt
import json
def home2(request):
return render_to_response('seghca/form.html', context_instance=RequestContext(request))
@csrf_exempt
def test_post(request):
data = {'html': request.POST['key']}
return HttpResponse(json.dumps(data), mimetype="application/json")
Возможный дубликат [Django Ajax-Jquery не извлекает данные] (http://stackoverflow.com/questions/18397100/django-ajax-jquery-does-not -fetch-the-data) –