簡體   English   中英

將可變數據添加到JSON

[英]Adding variable data to JSON

我有以下Javascript用於播放音樂文件作為使用jwplayer的播放列表

function playAllAudio() {
var audioDiv = "<div id='audioplayer'></div>";
    //Get ids from selected files
var sData = $('input', oTable.fnGetNodes()).serialize();

$.post("mediaStream.do", {OID : sData},function(data) {     
    jwplayer('audioplayer').setup({
        'controlbar': 'bottom',
        'width': '470',
        'height': '24',
        //'playlist': [{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'},{file:'mp3:audio/audioSunHands'}],
         'playlist': data,
        'provider': 'rtmp',
        'streamer': 'rtmp://XXXXXXX.cloudfront.net:1935/cfx/st',
        'modes': [
            {type: 'flash', src: 'https://YYYYYYYYY.cloudfront.net/player.swf'}
        ]
    });

});
}

數據是作為JSON字符串動態創建的,其中值是為jwplayer格式化的歌曲文件名

var data = "[{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'}]";

然而,當我使用變量'data'時,jwplayer不起作用。 如何使用從服務器傳遞到javascript的數據?

動態創建的數據是JSON字符串,但jwplayer的playlist配置應該是一個數組,您必須首先將字符串覆蓋到數組:

var data = "[{file:'mp3:audio/audioMotion'},{file:'mp3:audio/audioTangled'}]";
data = JSON.parse(data); // with out IE8-

但是在IE8中不支持JSON ,你可以使用Douglas Crockford的json2來修復它。

您可以像調用mediaStream.do那樣響應傳遞它。

你確定json有效嗎? 您是否嘗試使用http://jsonlint.com/驗證響應?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM