在通过另一个依赖脚本加载之前插入通过JSON返回的脚本?

时间:2016-10-31 17:15:18

标签: javascript jquery json wordpress head

我有一个奇怪的脚本解决问题,我不知道如何解决。我已经搜遍了整个地方,但很难知道在没有得到无关结果的情况下给Google打电话的内容。这是场景:

我正在连接和Wordpress网站以及Magento网站。为了从Magento中提取数据,我们的Magento开发人员设置了一些我可以进行的JSON调用。在我执行一些脚本之前,我需要进行这些调用并使用它返回的数据。该JSON调用包含一个脚本,该脚本包含多个<script>标记,用于设置要在其他几个依赖脚本中使用的配置变量。我已经将我的脚本排入Wordpress,按照我需要的顺序触发:

  1. 我的JSON调用脚本
  2. 依赖脚本
  3. 依赖脚本
  4. 依赖脚本
  5. 依赖脚本
  6. 我的第一个问题:我的脚本文件是否可以将包含<script>标记的JSON返回的文本字符串写入<head>的{​​{1}}文档并让那些依赖脚本引用该文本? (在下面的代码中,我使用document.write。我确定这可能是不好的做法)

    我的第二个问题:即使我能够这样做,它是否会变得无关紧要,因为当加载其他脚本时,来自JSON的数据还不可用?我是否需要设置某种依赖关系,只有在我的JSON返回配置变量后才加载其他脚本?

    我的JSON调用我的外部脚本,如果这有帮助:

    var cartrequest = JSON.stringify({"full_action_name":"cms_index_index","blocks":{"tag":"cart_sidebar"}});
    
    var searchrequest = JSON.stringify({"full_action_name":"cms_index_index","blocks":{"tag":"search-configuration"}});
    
    $.when( $.ajax( "/store/_diehard/load/json",{"data":{"json":cartrequest}} ), $.ajax( "/store/_diehard/load/json",{"data":{"json":searchrequest}} ) ).done(function( a1, a2 ) {
        $("#shopping-cart").html( resp.blocks.tag );
        var headInsert = a2[0].blocks.tag;
        document.write(headInsert);
    });
    

0 个答案:

没有答案