Ajax-запрос от django шаблона, URL и вида - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть следующие настройки

URL

urlpatterns = patterns('',
   (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT}),
    url(r'^index/$','pMass.views.index', name='index'),
    url(r'^index/(?P<match>\d+)/(?P<tab>\d)$', 'pMass.views.detail',name='detail'),

VIEW

def index(request):
    error = False
    cid = request.GET

    if 'cnum' in request.GET:
       cid = request.GET['cnum']

    if not cid:
       error = False
       expcount = Experiment.objects.count()
       allmass = SelectedIon.objects.count()

    else:

        defmass = 0.000001
        massvalue = float(cid)
        masscon = defmass * massvalue
        highrange = massvalue + masscon
        lowrange = massvalue - masscon

        myquery = SelectedIon.objects.select_related().filter(monoiso__range=(lowrange, highrange))
        querycount = myquery.count()

        return render_to_response('queryresult1.html', {'query': cid, 'high':highrange, 'low':lowrange, 'sections':myquery, 'qcount':querycount, })


    return render_to_response('index.html', {'error': error, 'exp': expcount,'mass':allmass,})


def detail(request,  match, tab):
    monorecord = get_object_or_404(SelectedIon, monoiso=match)
    detailrec = SelectedIon.objects.filter(monoiso=monorecord)
    return render_to_response('queryresult1.html', {"id": monorecord, "detail": detailrec}, context_instance=RequestContext(request))

Шаблон // from where I am trying to send request

$("td a").bind("click", function(event){

        var str = $(this).attr('id');
        tab = $("ul.tabs li").find("a").attr('id');
        mapurl = 'match/'+ str+ '/tab/'+ tab;

        new $.ajax({
        url: mapurl,
        async: true,
        // The function below will be reached when the request has completed
        success: function(transport)
        {
            $("#result").html(transport); // Put data in the div
            $("result").fadeIn();        // Fade in the active content
        }
    });

Я пытаюсь отправить ajax-запрос на сервер и получить результат обратно в том же шаблоне queryresult1.html (контейнер результатов). Но у меня проблема в моем запросе

`Error`     [11:18:37.814] GET http://127.0.0.1:8000/index/match/622/tab/1 [HTTP/1.0 404 NOT FOUND 59ms]

Я думаю, что мой URL-адрес правильный? Как я могу решить мой ajax-запрос из шаблона с соответствующим URL и видом?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Это не имеет ничего общего с Ajax.

Вы запрашиваете URL index/match/622/tab/1. Но ваш URLconf ожидает index/622/1 - без 'match' или 'tab'.

1 голос
/ 06 декабря 2011

Я не уверен, но я думаю, что вы должны попробовать: http://127.0.0.1:8000/index/622/1, чтобы соответствовать заданному шаблону URL.

Рассмотрите возможность создания ваших URL с помощью тега {% url (...)%}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...