Используя Django, я создаю функцию поиска, которая впоследствии будет отображать твиты.
На основе пользовательского ввода AJAX публикует представления, которые возвращают список идентификаторов, которые следует использовать для получения твитов сAPI Twitter.Когда в функции успеха AJAX вызывается twttr.widgets.createTweet()
, я получаю:
Отказался от выполнения скрипта из https://cdn.syndication.twimg.com/tweets.json?callback=__twttr.callbacks.cb0&ids=%2C%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined%2Cundefined&lang=en&suppress_response_codes=true&theme=light&tz=GMT-0400', потому что его тип MIME ('') не является исполняемым, и строгий MIMEпроверка типов включена. "
Вызов API работает отлично, когда он вызывается onLoad
. Я подтвердил, что функция успеха срабатывает. Я пытался изменить тип данных AJAX, который неработа.
Ajax-вызов:
$.ajax({
url: '/',
type: 'POST',
datatype : "json",
data: {
'search': x,
},
success: function(data) {
a = data
genTweets(a)
});
genTweets (который генерирует элементы для заполнения твитами):
function genTweets(a){
if (a.length < 30){
for (i = 0; i < a.length; i++){
var newDiv = document.createElement("div");
x = String(a[i])
document.body.appendChild(newDiv)
newDiv.id = "tweet" + i
newDiv.setAttribute("tweetID", x)
newDiv.setAttribute("class", "offset-3 col-8")
genTweet(newDiv.id)
}
}
}
genTweet:
genTweet = function(tweet){
var tweet = document.getElementById(tweet);
var id = tweet.getAttribute("tweetID");
$('.dropdown-toggle').dropdown('toggle');
twttr.widgets.createTweet(
id, tweet)
}