2016-05-19 7 views
1

はここに私のコードですが、私は応答がOK 200で得たが、アヤックスは私がdjangoはどのようにajaxレスポンスを送信しますか?

私のhtmlのうちにそれを理解することはできません一部 をエラーになった:

$(".statics").click(function(){ 
     var name = $(this).attr("data-name"); 

     $.ajax({ 
      url: 'statics/', 
      data: { 
       'name':name 
      }, 
      type: 'POST', 
      async: false, 
      dataType: 'json', 
      success: function(dataArr){ 
       console.log("ssss:",dataArr) 
       if(dataArr == "IS_PASS"){ 
        alert('PASS!'); 
       }else if(dataArr == "NOT_PASS"){ 
        alert('NOT_PASS'); 
       } 
      }, 
      error: function(ts){ 
       console.log("eeee:",ts) 
       alert('fail'); 
      }, 
     }); 
    }); 

私のviews.py

def statics_r(request): 
    if request.is_ajax(): 
     name = request.POST['name'] 

     ... 

     if is_pass: 
      return HttpResponse("IS_PASS") 
     else:    
      return HttpResponse("NOT_PASS") 

コンソールは次のとおりです:eeee: Object {readyState: 4, responseText: "NOT_PASS", status: 200, statusText: "OK"}
なぜそれは成功しませんか?

答えて

1

AJAX応答のために、あなたはJSONを返すべきである、最も簡単な方法は、代わりにHttpResponseJsonResponseクラスを使用することで、またはcontent_type

HttpResponse("{'result': 'IS_PASS'}", content_type="application/json") 

を設定あなたはアクセスするために、あなたのsuccess機能を調整する必要があります結果、すなわちdataArr.result

+1

ありがとうございました!私は '' 'JsonResponse({'validity':" IS_PASS "})を返そうとします。' ''そして問題を解決してください! – user2492364

関連する問題