JsonResponse と HttpResponse の両方を (json.dumps と共に) 試しましたが、ajax が成功に戻っても、返された json は $.parseJSON(returned_json) で解析できません。
問題は、ターミナルで json.dumps 値を出力し、値を変数にコピーして $.parseJSON に渡すことにより、解析($.parseJSON(returned_json))に問題がないことを確信しており、正常に解析されました。
最も単純なjsonを渡そうとしましたが、以下に示す例でも失敗します:
from django.http import JsonResponse
ajaxを処理している私の見解では:
return JsonResponse({"stat":"Success"})
私のajaxファイルでは:
$.ajax({
url:"feed/get_comments/",
type: "GET",
data:{c_id: cid}, //cid is a variable initialized above and not creating any problem
success: function(ret_json){
alert("Inside success"); //Running everytime
var sam_json = '{"stat":"Success"}'; //same as what is given in JsonResponse
var data = $.parseJSON(ret_json); //for debugging change to sam_json
alert(data); //with sam_json alerting with dictionary, with ret_json not giving any alert
},
HttpResponse と一緒に json.dumps を使用すると、JsonResponse の代わりに同じことが起こっています。上記から、json.dumpsがjson形式で正常に変換されているにもかかわらず、JsonResponseとHttpResponseがjson形式でデータを返していないと結論付けることができます(これをコピーしてajax変数に貼り付けたため)。助けてください。