Я использую следующую функцию для загрузки списка воспроизведения песен из PlayListJSON.aspx, но что-то кажется неправильным, вызывается evrytime OnFailure, я не могу отлаживать его дальше. любая помощь была бы действительно gr8.
Player.prototype.loadPlaylist = function(playlistId, play) {
req = new Ajax.Request('/PlaylistJSON.aspx?id=' + playlistId, {
method: 'GET',
onSuccess: function(transport, json) {
eval(transport.responseText);
player.setPlaylist(playlist.tracklist, playlist.title, playlistId);
player.firstTrack();
if (play) player.playSong();
},
onFailure: function() {
//error
}
});
}
Как правило, OnFailure вызывается, когда страница, на которую вы вызываете, не может быть достигнута по какой-либо причине.
Вы уверены, что URL-адрес /PlaylistJSON.aspx действителен?
Вы пробовали передавать аргумент параметров вместо того, чтобы указывать их как часть URL-адреса?
req = new Ajax.Request('/PlaylistJSON.aspx',
{
method: 'GET',
parameters: {
'id': playlistId
},
onSuccess: function(transport,json){
eval(transport.responseText);
player.setPlaylist(playlist.tracklist,playlist.title, playlistId);
player.firstTrack();
if (play)
player.playSong();
},
onFailure: function() {
//error
}
});
Да, страница PlayListJSon.aspx находится в корневом каталоге.
Попробуйте загрузить этот URL вручную. Его можно развернуть в корневом каталоге, но он по-прежнему недоступен и возвращает код ошибки.
Даже когда я даю URL-адрес типа 'dirname / PlaylistJson.aspx, он дает ту же ошибку .. onFailure
Что происходит, когда вы переходите по этому URL-адресу в своем браузере?
он работает нормально ... Я имею в виду, что когда я передаю Querystring, например PlayListJson.aspx? id = 32, он отображает результат в формате Json
Можете ли вы поместить код, который генерирует JSON, в блок try-catch? Где блок catch возвращает сообщение об исключении. Таким образом, мы можем увидеть, что не получается.