2012-07-18 39 views
2

Possible Duplicate:
django file upload from jsonDjango的

你好我使用從模板下面的AJAX上傳,但我沒有得到的Django view.What響應Ajax請求的響應是錯誤的here..i沒有看到任何警示

function ajax_upload(formid) 
{ 
var form = $(formid); 
form.ajaxSubmit({ 
    dataType: 'json', 
    success: function (data) { 
    alert("Hereeeeeeee"); 
    if(data.status == '1') 
    { 
    alert("Uploaded Successfull"); 
    } 
    else 
    { 
    alert("Uploaded UnSuccessfull :("); 
    } 
    } 
}) ; 
} 

EDIT Django的:

def someview(request): 
     response_dict={'status':1} 
     logging.debug("seen") //This is seen in the logs 
     return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript') 

EDIT1

另請參見django file upload from json

回答

0

從代碼:

form.ajaxSubmit({ 
    dataType: 'json', 
    success: function (data) { 
    alert("Hereeeeeeee"); 

你的回調執行上 '成功',所以我們可以縮小故障Django的視圖的一面。假設一切語法正確,我最好的猜測是因爲你返回JSON數據,你的反應MIME類型應該是:

mimetype='application/json'. 

如果不行,我會建議在Firefox使用螢火蟲或開發工具Chrome瀏覽器查看服務器響應。你應該能夠在那裏看到一個django堆棧跟蹤。

+0

我曾試過但我仍然沒有看到任何迴應,我甚至可以做出迴應。努力確定問題是什麼 – Rajeev 2012-07-18 12:26:42

0

請檢查someview是否添加到了urls.py中。
檢查{% csrf_token %}加入到形成

+0

是的兩個都照顧..如果我把日誌在返回之前,我確實看到它。請參閱編輯的問題 – Rajeev 2012-07-18 11:36:07

0

這是相當不可能的,你會看到該日誌,因此這是一個Python語法錯誤:

response_dict{'status':1} 

,應該是:

response_dict = dict(status=1) 

或:

response_dict = {'status':1} 

或者:

response_dict = dict() 
response_dict['status'] = 1 

或:

response_dict = dict() 
response_dict.update({'status':1}) 
+0

哦抱歉,這只是一個複製粘貼問題。我編輯了問題 – Rajeev 2012-07-18 11:47:13