Javascript jQuery ajax将成功传递到外部变量

Javascript jQuery ajax将成功传递到外部变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在使用jQueryAjax时遇到问题。我已经有了一个js播放器,它在没有ajax的情况下运行良好。即 /jwplayer.js window.onload = function () { function etc etc etc jwplayer('player').setup({ playlist: [{ file: video_url, }], width: "640", height: "380", autostart: "true", stretching: "exactfit",

我在使用jQueryAjax时遇到问题。我已经有了一个js播放器,它在没有ajax的情况下运行良好。即

/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>

你试图从一个内部函数返回一些东西,为什么不这样做呢

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];
    }
});
更新:要在获取url时创建并运行播放机,请执行以下操作:

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的详细阅读:

为什么在上一个
}
之后还有额外的
()
?是的,这是不可能的。@jgabb是我在这里找到的代码,但是如果没有
()
它是an,它也不能工作。即使我不确定这是否是使用AJAX的正确方法,但我以前尝试过,它不起作用。它可以用来获取
视频\u url
,但我想你不熟悉异步?我更新了我的答案。我更新了我的问题,发布了我的jwplayer.js文件。但事实上,我不熟悉异步。我找到了一个简单的方法:
var page=$.ajax({type:'get',url:'some_website_dot_com/file/.m3u8',数据类型:“html”,异步:false,成功:函数(数据){return data;}).responseText;var video=page.match(/(http\:\/\/\S+m3u8)/);var video_url=video[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
});