我是javascript和web开发的新手。所以这是一个用于检索和显示Twitter用户的最后10条推文的应用程序。它使用AJAX从Django驱动的服务器检索推文。应用程序在我的本地计算机上工作正常,但当我在pythonanywhere上部署时,JavaScript部分显示语法错误。 以下是HTML文件中的脚本部分。
<script>
$("#HandleForm").on("submit", function (event) {
event.preventDefault();
var handle = $('#handle').val();
get_tweets(handle);
});
function get_tweets(handle){
$.ajax({
url : "ajax/returntweets/",
type : "GET",
data : {handle_data : handle},
success : function(json){
var response = $.parseJSON(json)['tweet_data']
$('#tweet_table').append('<li class="list-group-item list-group-item-success">Tweets of @' + handle + '</li>');
for(i=0;i<response.length;i++){
$('#tweet_table').append('<li class="list-group-item">'+response[i]+'</li>');
}
$('#tweet_table').append('<li class="list-group-item list-group-item-warning">Tweets End Here!</li>');
},
});
}
</script>
&#13;
这是views.py返回推文数据:
auth = OAuth1(APIKey, APISecret, AccessToken, AccessTokenSecret)
username = request.GET.get('handle_data')
verificationUrl = ' https://api.twitter.com/1.1/users/show.json?screen_name=%s' %username
response = requests.get(verificationUrl, auth=auth)
tweets = []
if response.status_code == 200:
requestUrl = ' https://api.twitter.com/1.1/statuses/user_timeline.json?tweet_mode=extended&screen_name=%s&count=10' %username
r = requests.get(requestUrl, auth=auth,)
for tweet in r.json():
tweets.append(tweet['full_text'])
else:
tweets.append("Invalid Handle")
response_data = {"tweet_data" : tweets}
return HttpResponse(json.dumps(response_data))
浏览器控制台显示以下错误
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
console.log(json)
打印整个HTML文档。
答案 0 :(得分:1)
使用JSON.parse
代替$.parseJSON
,如下面的代码
json_string = "{\"name\": \"google\"}"
json_data = JSON.parse(json_string);