編輯
當我編寫print.POST ['video']時,即使通過'video'的值也不會在控制檯上打印任何內容。我錯誤地得到了錯誤的值在JavaScript?我試圖讓'video34'(隱藏字段中的值)顯示出來。如何使用jQuery/AJAX訪問views.py中的變量?
原
我試圖使用POST在Django的jQuery/AJAX數據時遇到了問題。如何訪問views.py中的「視頻」變量?當我寫在views.py '打印視頻',我在控制檯中的錯誤說POST/edit_favorites/HTTP/1.1" 500 10113.
views.py
from django.shortcuts import render_to_response
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def edit_favorites(request):
if request.is_ajax():
message = "Yes, AJAX!"
else:
message = "Not Ajax"
return HttpResponse(message)
URL配置:
url(r'^edit_favorites/', 'edit_favorites'),
HTML:
<form method='post' id ='test'>
<input type="hidden" value="video34" />
<input type='submit' value='Test button'/>
<div id = 'message'>Initial text</div>
</form>
的javascript:
<script type="text/javascript">
$(document).ready(function() {
$("#test").submit(function(event){
event.preventDefault();
$.ajax({
type:"POST",
url:"/edit_favorites/",
data: {
'video': $('#test').val() // from form
},
success: function(){
$('#message').html("<h2>Contact Form Submitted!</h2>")
}
});
return false;
});
});
</script>
當我編寫print.POST ['video']時,即使有'video'值,也不會在控制檯中打印任何內容。我錯誤地得到了錯誤的值在JavaScript?我試圖讓'video34'出現。 – sharataka
是的。 '#test'指向表單,並且表單沒有'val()'。你應該給你的領域一個'id'並使用它。請注意,您也應該始終爲您的字段提供一個「名稱」,否則您將無法正常提交它們。 –
使用$('#test')。serialize()來查看線路上的所有表單數據。就像Daniel說的那樣,表單沒有val(),所以你沒有發送任何東西 – josephmisiti