2014-03-21 3 views
3
#home.html 
<html> 
<head> 
<script type="text/javascript"> 
$(window).load(function() { 
alert("Example of a basic alert box in jquery"); 
$.ajax({ 
    type: 'POST' , 
    url: '{% url "filter.views.myajax" %}', 
    datatype: 'json' , 
    async: true, 
    data:{ 
     csrfmiddlewaretoken: '{{ csrf_token }}', 
     sentence: $('#word').val() 
    }, 

    success: function(json) { 
     $('#output').html(json.message); 
    } 
    }); 

    } 



}); 

</script> 
<title> My first </title> 
<body> 
<div id="output"> &nbsp; </div> 
<div> 
<form onsubmit="return false;"> 
{% csrf_token %} 
Enter :- <br /> 
<input type="text" id="word" /> <br /> 
<button onclick="callajax()"> Submit </button> 
</form> 
</div> 
</body> 
</html> 

#views.py 
def myajax(request): 
sentence= request.POST.get("sentence","") 
response_data={} 

try: 
    response_data['title']='Hey its done ajax' 
    response_data['message']=fil(sentence) 

except: 
    response_data['title']='NO' 
    response_data['message']='NO' 

return HttpResponse(json.dumps(response_data),content_type="application/json") 
#url.py 
from django.conf.urls import patterns, include, url 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
# Examples: 
url(r'^hello/$', 'filter.views.hello'), 
url(r'^ajax/$', 'filter.views.myajax'), 
) 

Я пытаюсь реализовать ajax через jquery и обновлять div в соответствии с ответом. Если я нажму кнопку «Отправить», выход не будет показан. Я добавил файл view.py и my template здесь. В чем проблема?ajax request django, jquery

ответ

6

Заменить:

url: 'filter.views.myajax' 

С

url: '{% url filter.views.myajax %}' 

# **For Django >= 1.5 ** 

url: '{% url "filter.views.myajax" %}' 

внутри $.ajax({})

+0

'URL' требует непустое первый аргумент. Синтаксис, измененный в Django 1.5, см. В документах. Не работает –

+0

ahh. вы используете Django 1.5 !! , обновление ответа ... –

+0

Reverse для 'filter.views.myajax' с аргументами '()' и аргументами ключевого слова '{}' не найдено. 0 pattern (s) try: [] .... я получил эту ошибку сейчас –