Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在函数内更新ajax中的参数_Jquery_Ajax - Fatal编程技术网

Jquery 在函数内更新ajax中的参数

Jquery 在函数内更新ajax中的参数,jquery,ajax,Jquery,Ajax,我有这个密码 <script type="text/javascript"> var nextUrlArticle = null; $(document).ready(function() { $.get("{{ path('next_video_url', { 'id' : article.id })}}", function(result) { nextUrlArticle = result.url; }); function getN

我有这个密码

<script type="text/javascript">
var nextUrlArticle = null;

$(document).ready(function() {
    $.get("{{ path('next_video_url', { 'id' : article.id })}}", function(result) {
        nextUrlArticle = result.url;
    });

    function getNextVideo(ext) {
        if (nextUrlArticle) {
            window.location.href = nextUrlArticle;
        }
    }
});
</script>

var nextUrlArticle=null;
$(文档).ready(函数(){
$.get({path('next_video_url',{'id':article.id}}}),函数(结果){
nextUrlArticle=result.url;
});
函数getNextVideo(ext){
如果(下一条){
window.location.href=nextUrlArticle;
}
}
});
而且它从不进入“
window.location.href
”这是完全正常的,因为它是用
null
初始化的,并且有一个ajax调用更新参数,但由于它是异步的,因此在处理代码时不起作用

但是我真的需要检查下一篇文章是否为空,所以我无法删除该检查。 视频结束时,flash视频播放器将调用
getNextVideo
。(我没有掌握这部分代码)

如何使那张支票通过


谢谢

AJAX成功后,需要调用函数以更新值执行

$(document).ready(function() {
    $.get("{{ path('next_video_url', { 'id' : article.id })}}", function(result) {
        nextUrlArticle = result.url;
        getNextVideo(); // call function after update
    });

    function getNextVideo() {
        if (nextUrlArticle) {
            window.location.href = nextUrlArticle;
        }
    }
});

我认为视频在ajax完成之前调用了该方法

一种方法是在加载页面时直接传递nextur,而不是从ajax获取,例如:

nextUrlArticle = {{ nexturl }} //django syntax to pass context vars to template
function getNextVideo() {
    if (nextUrlArticle) {
        window.location.href = nextUrlArticle;
    }
 }

好的,我需要将
getNextVideo()
放在
$(document).ready(function(){
的外部,因为视频播放器无法调用.ready中的函数


很高兴知道。

我不希望在调用ajax之后调用该函数,因为视频播放结束后,是videplayer调用该函数。在返回ajax调用之前,flash视频播放器是否调用“getNextVideo”?不,不管怎样,我的代码应该可以工作,我只是得到了不一致的结果,有时可以工作,有时不可以ot,所以我会在代码之外的其他地方挖掘。