2008-10-25 2 views
2

Я использую следующую функцию для загрузки списка воспроизведения из PlayListJSON.aspx, но что-то кажется неправильным, evrytime OnFailure получает вызов, я не могу отлаживать его дальше. любая помощь будет действительно gr8.Проблема с Ajax.Request с использованием JSon и Prototype

Player.prototype.loadPlaylist = функция (playlistId, игра) {

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 

      } 
     }); 

}

+0

Можете ли вы поместить код, который генерирует JSON в блоке try-catch? Если блок catch возвращает сообщение об исключении. Таким образом мы можем видеть, что терпит неудачу. – thoughtcrimes 2008-12-10 22:55:18

ответ

1

Как правило, 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 

     } 
    }); 
0

Да, страница PlayListJSon.aspx находится в корневом каталоге.

+0

Попробуйте вручную загрузить этот URL. Он может быть развернут в корневой каталог, но все же не доступен и не возвращает код ошибки. – 2008-10-25 12:34:48

1

Если вы разрабатываете в windows install Fiddler. С помощью Fiddler вы сможете точно увидеть, какой запрос выполняет вызов Ajax и какой ответ приходит с сервера. Таким образом, вы узнаете, правилен ли URL-адрес, или если сервер отвечает на какой-то код состояния, отличный от 200/OK.

Смежные вопросы