如何在脚本src中使用javascript变量

时间:2016-08-31 10:36:40

标签: javascript jquery json ajax

我正在使用ajax调用返回json数据,现在应该在脚本src标记中添加json的值

$.ajax({
    url: "some url",
    success: function(data,response){
         console.log("inside sucess");
         console.log(data);
        for(i=0;i<data.files.length;i++){
            if(window.location.href.indexOf(data.files[i].video_id)>=0){
                 id=JSON.parse(data.files[i].id);
            }
        }
    },
    failure: function(data,response) {
         console.log("Failed"); 
    }});

我使用的脚本标签是

<script type="text/javascript" src="//static.3playmedia.com/p/projects/18588/files/id/plugins/10960.js"></script>

这里我想用sj中的id替换src中的id。

怎么做?

2 个答案:

答案 0 :(得分:0)

当Ajax调用完成并且执行了成功回调时,很可能已经请求了您想要更改的脚本标记。

假设您要做的是根据AJAX调用的响应动态决定下载哪个脚本,您可以在成功回调中创建一个脚本标记,并将其注入页面。类似的东西:

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'my_dynamic_path.js';
document.body.appendChild(script);

应该做你想做的事。

答案 1 :(得分:0)

HTML

<script id="scriptTag" type="text/javascript" src="//static.3playmedia.com/p/projects/18588/files/id/plugins/10960.js"></script>

JS

$.ajax({
    url: "some url",
    success: function(data,response){
         console.log("inside sucess");
         console.log(data);
        for(i=0;i<data.files.length;i++){
            if(window.location.href.indexOf(data.files[i].video_id)>=0){
                 id=JSON.parse(data.files[i].id);
                 $("#scriptTag").attr('src','img///static.3playmedia.com/p/projects/18588/files/id/plugins/'+id+".js"); 
            }
        }
    },
    failure: function(data,response) {
         console.log("Failed"); 
    }});