在AJAX呼叫成功后呈现YouTube订阅按钮

时间:2018-10-13 01:03:17

标签: javascript ajax youtube-javascript-api

如果AJAX响应中包含了如何渲染youTube订阅按钮。我使用了下面的功能,该功能可以正常工作,但它会在控制台日志中返回此错误:

SecurityError: Permission denied to access property "blablabla" on cross-origin object

function load_js() {
  var head = document.getElementsByTagName('head')[0];
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://apis.google.com/js/platform.js';
  head.appendChild(script);
}

$.ajax({
  type: "POST",
  url: ajaURL,
  data: {
    action: 'my_action',
  },
  success: function(response) {
    // response = <div class="g-ytsubscribe" data-channelid="CHANNEL_ID" data-layout="default" data-count="default"></div>
    $('.youtube-btn-container').html(response);
    load_js();
  }
});

1 个答案:

答案 0 :(得分:0)

如果您是在本地进行测试,则可能需要允许跨源资源共享(CORS)。这是应该在您的请求中显示的标头。您可以在MDN上详细了解它。

在Chrome浏览器中,有几个扩展程序可简化此操作。我个人使用this