2013-07-02 29 views
0

我阿賈克斯總是返回上得到響應數據未定義 這裏是我的Django視圖代碼:無法獲得響應對象在阿賈克斯

value= {'response':'SUCCESS'} 
    return render_to_response('topics.html', 
          json.dumps(value), 
          RequestContext(request) 
     ) 

而下面是我的jquery:

var options = { 
    datatype: 'json', 
    success: showResponse, 
    url: '/media/' 
} 
$(form).ajaxSubmit(options); 
function showResponse(data) { 
    alert(data.response); 
} 

我曾嘗試

data['response'] 
data.value.response 
$(data).response) 

沒有什麼似乎工作。我知道我在做一個基本的錯誤,但我對ajax很陌生。有人能指出我的錯誤嗎?

+0

無聲:我其可用看到你的整個AJAX + jQuery腳本.... –

+0

我不認爲你需要什麼比這更。 是一個指向html表單的變量 – Sohaib

回答

0

我想我得到了我的問題。 我沒有做

render_to_response('template.html'....) 

相反

HttpResponse(json.dumps(value)) 
0

使用parseJSON方法來解析json字符串。下面是你需要把警報代碼

jQuery.parseJSON(data).response 
+0

我認爲這是內置的,我們不需要明確地調用它。 – Sohaib

+0

您是否嘗試明確解析JSON? –

+0

我現在不需要閱讀我的答案。 – Sohaib

1

你爲什麼不把的console.log在showResponse方法的一個開始? 所以

function showResponse(data){ 
     console.log(data); 
} 

你會再看看輕鬆的事。

+0

我做了你說我的愚蠢,不要嘗試,以前似乎我的整個HTML頁面作爲響應返回。 – Sohaib

+0

好吧,所以我想現在你知道該怎麼做:-) –

+0

是的,我發佈了我的答案 – Sohaib