[英]On ajax success set variable and use the variable in jquery outside ajax
[英]jQuery ajax pass success into outside variable
我在使用jquery ajax時遇到問題。 我已經有一個js播放器,可以在沒有ajax的情況下正常工作。 IE瀏覽器
/jwplayer.js
window.onload = function () {
function etc etc etc
jwplayer('player').setup({
playlist: [{
file: video_url,
}],
width: "640",
height: "380",
autostart: "true",
stretching: "exactfit",
volume: "100",
});
}
PHP頁面
<script type="text/javascript" src="/jwplayer.js"></script>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<div id='player'></div>
<script type="text/javascript">
var video_url = some_website_dot_com/file/.m3u8
</script>
這樣很好。 但是我無法將ajax函數添加到var video_url
。 這是我正在嘗試使其工作的腳本
<script type='text/javascript'>
var video_url = function () {
$.ajax({
type: 'get',
url: "some_website_dot_com/file/.m3u8",
dataType: "html",
success: function (data) {
var result = data.match(/(http\:\/\/\S+m3u8)/);
return result[1];
}
});
}();
</script>
您正在嘗試從內部函數返回某些內容,為什么不這樣做呢?
var video_url;
$.ajax({
type: 'get',
url: "some_website_dot_com/file/.m3u8",
dataType: "html",
success: function (data) {
var result = data.match(/(http\:\/\/\S+m3u8)/);
video_url = result[1];
}
});
更新:在獲取網址時創建播放器並開始工作:
function setupVideo(data) {
var result = data.match(/(http\:\/\/\S+m3u8)/);
var video_url = result[1];
jwplayer('player').setup({
playlist: [{
file: video_url,
}],
width: "640",
height: "380",
autostart: "true",
stretching: "exactfit",
volume: "100",
});
}
$.ajax({
type: 'get',
url: "some_website_dot_com/file/.m3u8",
dataType: "html",
success: setupVideo
});
很好地閱讀AJAX,尤其是異步A: 如何從異步調用返回響應?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.