我有一個形式簡單的輸入框,其中我試圖通過發送Ajax的帖子Django的價值,但我得到一個500錯誤ValueError at /rest/ Cannot use None as a query value
爲什麼ajax請求爲dom元素的值提交'none'?
<form onsubmit="return false;">
{% csrf_token %}
Search:<input type="text" name="artist" id="artist" />
<button class="updateButton" onclick="createlist()">submit</button>
</form>
<script>
function createlist(){
$.ajax({
type: "POST",
url: "/rest/",
dataType: "json",
data: {
csrfmiddlewaretoken: "{{ csrf_token }}",
artist: $('#artist').val()
},
success: function(data){
$('body').append(data.results);
}
});
}
</script>
查看:
def rest(request):
artistname = request.POST.get("artist") # <- problem here?
response_data = {}
query_results = Art.objects.filter(artist__contains=artistname)
response_data['results'] = query_results
return HttpResponse(json.dumps(response_data), content_type="application/json")
當我檢查Form Data
下的標題時,它顯示artist: da vinci
這是我輸入的內容。列車在哪裏脫軌?
試過這個'request.POST.get(「artist」,「」)'? – 2014-12-03 07:07:20
是的。問題似乎是我將json發送到Django視圖。所以django看到'{「csrfmiddlewaretoken」:「token」,「artist」:「da vinci」}' – 2014-12-03 07:10:15
其實我不知道問題是什麼。 – 2014-12-03 07:20:38