2017-03-28 1 views
0

私はDjangoを使用して、JsonResponseをJSONを処理して私の座標を取得するスクリプトに戻しています。 JSON情報をjavascriptで試してみると何か間違っているようです。たとえば、私がdata.somethingを使用しようとすると、その未定義です。ここに私のビューです:Djangoを使用してJSONをJavascriptに渡す問題

def getTweets(request, tag): 
    d = {'string': tag} 
    req = tweets.objects.filter(tag = tag) 
    data = serializers.serialize('json', req, fields=('coord')) 
    data = JsonResponse(data, safe=False) 
    print data 


    return data 

そして、ここで私が現在使用しているJSの一部です:だから

$('#searchButton').click(function(){ 
        xmlhttp = new XMLHttpRequest(); 
        var tag = document.getElementById('tagSearch').value; 
             if(tag.substring(0,1) === '#'){tag=tag.substring(1,tag.length);} 
             document.getElementById('tagSearch').value = ''; 

             xmlhttp.onreadystatechange = function() { 
              if (this.readyState === 4 && this.status === 200) { 
                var data = JSON.parse(this.response); 

                var pinColor = ''+(Math.random()*0xFFFFFF<<0).toString(16); ........... 

、私はジャンゴからこれを取得するためにJSON.parse(this.response)を使用していますこれは文字列を返します。しかし、私が言ったように、何かが一見間違っている、または私は完全にこれにアクセスする方法がありません。私は(または似たような)ことができるようにしたいものを、

"[{\"model\": \"visualize.tweets\", \"pk\": 1, \"fields\": {\"coord\": \"-76.958123, 38.827518\"}}, {\"model\": \"visualize.tweets\", \"pk\": 3, \"fields\": {\"coord 
": \"-96.958123, 48.827518\"}}]" 

そして:

これは私のDjangoのサーバーのコンソールからである

var coordString = point['coord']; 
var x = coordString.substring(0,coordString.indexOf(',')); 
var y = coordString.substring(coordString.indexOf(',')+2,coordString.length); 

答えて

1

あなたのデータは二回JSONとしてエンコードされます。私はそれが以下のように働いていた:

def getTweets(request, tag): 
    d = {'string': tag} 
    data = tweets.objects.filter(tag = tag).values('id', 'tweet', 'whatever') 
    data = JsonResponse(list(data), safe=False) 
    print data 


    return data 
+0

私はあまりにもそれを見て、それを見て信じられない。ありがとうございました! – KenP

関連する問題