簡體   English   中英

帶有Django和jquery的Ajax發布

[英]Ajax post with Django and jquery

我是所有django,ajax事物的新手..我在網上閱讀了一些教程,並且試圖制作一個簡單的表單,該表單通過ajax發布一些信息。

這是我模板的jquery部分:

<script type="text/javascript">

 $(document).ready(function () {

  $('#iEventAjax').submit( function()
  {
   var name = $('input[name=event_name]');
   var data = name.val();
   $.ajax({
                                type:"POST",
                                url:"/mediaplanner/edit/",
                                data:data,
                                success: function(msg){
                                        alert(msg);
                                }
                        });
  });

和查看代碼:

def iEventAjax(request):
        if request.is_ajax():
                return HttpResponse("ok")
        else:
                return render_to_response("iEventSave.html",{})

好吧,當我發布內容時,它返回iEventSave.html而不是給出“確定”消息。 有什么建議,我哪一部分會失敗?

此代碼發生了什么:

  1. 您在提交時將處理程序綁定到表單
  2. 然后,您提交一個ajax響應,返回“ ok”
  3. 表單繼續以常規HTML表單提交
  4. 第二個提交返回模板,因為它是一個GET請求,而不是AJAX

在jQuery中,您需要從Submit函數返回false,或者在jQuery Submit Docs事件上調用preventDefault

所以:

$(document).ready(function () {

$('#iEventAjax').submit( function()
{
 var name = $('input[name=event_name]');
 var data = name.val();
 $.ajax({
                            type:"POST",
                            url:"/mediaplanner/edit/",
                            data:{my_data:data},
                            success: function(msg){
                                    alert(msg);
                            }
                    });
return false;
});

你想做var data = name.serialize(); 創建一個查詢字符串參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM