You could try using $("form").serialize() to get the form inputs in
the ajax data. But from the URL it looks like your HTML is somehow
rendering badly. The form action is coming out as '/newmarkets/search/
method='Kind regards On 4/17/14, willyhakim <[email protected]> wrote: > Hi everyone? > > I am trying to use ajax to do the following > > 1)User inputs a number. > 2) I use ajax to return a query list into the same page. > > Here is my code > and I keep getting this error > > Page not found (404) Request Method: GET Request URL: > http://127.0.0.1:8000/newmarkets/search/%20method=?csrfmiddlewaretoken=VkKvStx1qGZOM1YxzM8xenGDbYRBnMPA > > > Using the URLconf defined in exportAbroad.urls, Django tried these URL > patterns, in this order: > > 1. ^$ [name='index'] > 2. ^about/$ [name='about'] > 3. ^pricing/$ [name='pricing'] > 4. ^market_research_tool/$ [name='market_research_tool'] > 5. ^newmarkets/ ^$ [name='index'] > 6. ^newmarkets/ ^search/$ [name='search'] > 7. ^admin/ > 8. ^accounts/ > 9. ^static/(?P<path>.*)$ > > The current URL, newmarkets/search/ method=, didn't match any of these. > > *views.py* > def index(request): > context = RequestContext(request) > return render_to_response('newmarkets/index.html', context) > > def search(request): > if request.is_ajax() and request.method=='POST': > UserHSnumber = request.POST['UserHSnumber'] > country_list = Imports.objects.filter(hs_number= UserHSnumber)[1:11] > hsdescript = Products.objects.get(hs_number=UserHSnumber) > data = {'markets': country_list, 'hsdescript': hsdescript} > mimetype='application/json' > else: > raise Http404 > return HttpResponse(json.dumps(data), mimetype) > > > *HTML* > > {%block body_block%} > <div style="min-height:600px"> > <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> > <h2 class="page-header">What is your product's H.S number?</h2> > > <form action="{% url "search" %}" method="post"> > {% csrf_token %} > <input type="text" id = "hs" placeholder="4 digit HS number..."/> > <button class="btn-default">Submit</button> > </form> > </div> > </div> > <hr> > <hr> > <div id="top-countries"> > > > *ajax.js* > > > > > > *$(document).ready(function() { $('#hs').click(function(){ $.ajax({ > type:"POST", url:"/newmarkets/search/", > data:{"userHSnumber":$("#search").val()}, dataType: "json", > success:function(data){ alert(data.message); } }); }); // CSRF code > function getCookie(name) { var cookieValue = null; var i = > 0; if (document.cookie && document.cookie !== '') { var > cookies = document.cookie.split(';'); for (i; i < > cookies.length; i++) { var cookie = > jQuery.trim(cookies[i]); // Does this cookie string begin > with the name we want? if (cookie.substring(0, name.length + > > 1) === (name + '=')) { cookieValue = > decodeURIComponent(cookie.substring(name.length + 1)); > break; } } } return cookieValue; > > } var csrftoken = getCookie('csrftoken'); function > csrfSafeMethod(method) { // these HTTP methods do not require CSRF > protection return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); } > > $.ajaxSetup({ crossDomain: false, // obviates need for sameOrigin > test beforeSend: function(xhr, settings) { if > (!csrfSafeMethod(settings.type)) { > xhr.setRequestHeader("X-CSRFToken", csrftoken); } } > }); });* > > > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/2132e3e5-9795-416d-9306-0b09a1698c6b%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAN5idp_ENtkVOapK6QjaGPhGUUfbAC8CWxnOg%2BpQFbgZOuMRmQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

