无法设置回调函数名称时,如何使用Angular向静态文件发送JSONP请求? [英] How to do a JSONP request with Angular to a static file when you can't set the callback function name?

查看:105
本文介绍了无法设置回调函数名称时,如何使用Angular向静态文件发送JSONP请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,问题解决者!我希望向您学习一些东西.我遇到了一个挑战,该挑战可能会让我了解到更多有关Angular的知识,我将不胜感激任何人可能提供的任何投入.

背景

我的公司在许多网站中都有一个共同的页脚,我们使用JSONP将其延迟加载到每个网站中.页脚内容由生成静态HTML的系统管理,以实现高性能,低成本和高正常运行时间.当我们将该页脚延迟加载到页面中时,我们无法控制响应中包含的回调函数调用的名称.

我们的页脚可能类似于以下 footer.json 文件:

  footerCallback([[< footer> FROM THE FOOTER</footer"]]); 

我们使用如下简单的纯Javascript代码将其延迟加载到HTML页面中:

 < div id =页脚"</div< script>函数footerCallback(json_data){document.getElementById('footer').outerHTML = json_data [0];}window.onload = function(){var script = document.createElement('script');script.src ='assets/static-footer.json'script.async = true;document.getElementsByTagName('head')[0] .appendChild(script);}</script> 

我在GitHub上发布了一个有效的演示,此处.不幸的是,由于它使用JSONP请求,因此我无法将其发布在Stackblitz上以使其更易于运行.此版本完全按照我上面所述的方式包含共享页脚,此处.

挑战

我们需要在Angluar应用程序中包含相同的中央页脚,因此我试图创建一个 footer 组件,该组件会将懒加载的JSONP页脚插入到Angular应用程序中.

方法

创建了

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆