Я довольно много начинаю на javascript и jQuery, поэтому, пожалуйста, несите меня.Ajax call ничего не возвращает
У меня есть Spark-API, и веб-интерфейс, который использует его через вызовы ajax.
Я пытаюсь вызвать эту функцию
function getSpotifyURL(ms, name) {
$.ajax({
url: "http://localhost:8081/playlist?ms=" + ms + "&name=" + name,
dataType: "json",
})
.done(function(data) {
console.log(data);
})
}
Метод размещен вне:
$(document).ready(function() {
Причина это снаружи, что я получаю сообщение об ошибке при вызове его говорят, что это «не определено «если он находится в $ (документе) .ready.
Предполагается, что Spark-метод возвращает строку (, и она выполняет при попытке ее непосредственно через браузер).
Способ, которым я вызываю метод getSpotifyURL, состоит из кнопки «onclick» кнопки html. Как это:
<a href='#' onclick='getSpotifyURL(" + data[i].duration + ",\"" + data[i].destination + "\")'>Create Spotify playlist for this trip</a>"
Проблема: .done-блок ничего не делает в своем коде. На консоль ничего не печатается.
Что я пробовал:
- Использование "успех" в рамках АЯКС части вместо .done
- Размещение функции с $ (документ) .ready (функция() {.. .}
Я понимаю, что вам, возможно, потребуется больше информации, чтобы быть в состоянии помочь мне, но я не уверен, что еще информация для обеспечения прямо сейчас. Так что, если есть что-то вам нужно знать, просто спросите.
Идеи?
РЕШЕННЫЙ!
Я немой человек и забыл удалить dataType: «json», так как Spark-сервер в этом экземпляре возвратил String, а не объект json. В любом случае, спасибо за ваш вклад. Очень признателен.
Я считаю, что '.done()' устарел. Вы можете найти открытый запрос на вкладке * Сеть * в Инструментах разработчика? – DontVoteMeDown
изменить 'console.log (data);' 'на console.log (data +" 123 ");' так что вы действительно можете увидеть, достигает ли он этой части. – Fluinc
@Fluinc не будет напечатан 'undefined' или' null', что 'console.log' был достигнут в любом случае? – DontVoteMeDown