2017-05-09 22 views
1

私は今、jQueryを使ってAjaxリクエストを作成してデータを取得したいという私の最初のプロジェクトをDjangoに書いています。問題は、Ajaxリクエストが戻るということです。DjangoへのAjaxリクエスト404が見つかりません

GET http://localhost:8000/ajax/teams_for_issue/?medIssue=MI6 404 (Not Found) 

私は問題はURLであり、そして私はこのプロジェクトでは、数回の前に間違ったURLを得ているということではなく確信しています。次のように私のAjaxコードを探します:

var medIssue = _this.issueSelector.val(); 
$.ajax({ 
    url: '/ajax/teams_for_issue/', 
    data: { 
     'medIssue': medIssue 
    }, 
    dataType: 'json', 
    success: function(data) { 
     _this.setTeams(data.teams) 
    } 
}); 

これは私が答えを送信したいDjangoの機能である:私は、次のURL

url(r'newpatient/', views.newpatient, name='newpatient'), 
url(r'ajax/teams_for_issue/', views.teams_for_issue, name='teams_for_issue'), 

に上の任意のヘルプを定義している

def teams_for_issue(request): 
    medIssue = request.GET.get("medIssue", none) 
    teams = Team.objects.filter(has_competence=medIssue) 
    data = { 
     "teams":teams 
    } 
    return JsonResponse(data) 

私が間違って行くと多くのappriciatedでしょう:)

+0

からデータを読み込む必要があり、この '' 'URL(R '^ newpatient/$'、views.newpatient、名前= 'newpatientのようなあなたのURLを修正してください')、 URL(r'^ajax/teams_for_issue/$ '、views.teams_for_issue、名前=' teams_for_issue ')、 '' ' –

+0

これは、これがURLを持つアプリケーションであるという事実によって引き起こされた問題でした。アプリケーションのURLの下で直接ドメインの下にないと仮定されている –

+0

はい、djangoは正規表現を使用してURLと一致し、正規表現が間違っているためです –

答えて

0

あなたのajax要求でタイプを定義します。

$.ajax({ 
    url: '/ajax/teams_for_issue/', 
    type: "POST", 
    data: { 
    'medIssue': medIssue 
}, 
dataType: 'json', 
success: function(data) { 
    _this.setTeams(data.teams) 
} 
}); 

またあなたのビューがrequest.POST

def teams_for_issue(request): 
    medIssue = request.POST.get("medIssue", none) 
    teams = Team.objects.filter(has_competence=medIssue) 
    data = { 
     "teams":teams 
    } 
    return JsonResponse(data) 
+0

Nopeそれは助けになりません。とにかくありがとう。 –

+0

今すぐお試しください。私は自分の答えを編集しました。 – badiya

関連する問題