Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Javascript JQuery动态脚本标记及其执行_Javascript_Jquery_Ajax_Drupal - Fatal编程技术网

Javascript JQuery动态脚本标记及其执行

Javascript JQuery动态脚本标记及其执行,javascript,jquery,ajax,drupal,Javascript,Jquery,Ajax,Drupal,目标是按照ajax加载脚本标记,执行脚本并显示脚本标记的内容(带有视频的iframe) 情景: 场景是一个视频页面。如果单击“视频文本”,将确定dom中的id。之后,将使用确定的id执行一个ajax php请求。该请求将使用一个脚本标记进行响应。这就是问题所在:如何获取iframe? 有人给我小费吗 ajax调用: $.ajax({ type: "GET", url: "/get-embed-by-id/"+$(this).find('.views-field-nid .fiel

目标是按照ajax加载脚本标记,执行脚本并显示脚本标记的内容(带有视频的iframe)

情景: 场景是一个视频页面。如果单击“视频文本”,将确定dom中的id。之后,将使用确定的id执行一个ajax php请求。该请求将使用一个脚本标记进行响应。这就是问题所在:如何获取iframe? 有人给我小费吗

ajax调用:

$.ajax({
    type: "GET",
    url: "/get-embed-by-id/"+$(this).find('.views-field-nid .field-content').html(),
    success: postToPageTwo,
    error : postToPageTwo,
    datataype: "html",
});
这个调用返回一个类似这样的脚本

<script type="text/javascript" src="http://exampleurl.de/video/7"></script>
以及脚本响应的代码:

function scriptResponse(data) {
  console.log("data:");
  console.log(data);
}
但是数据总是未定义的。还是我做错了什么?

jQuery必须为您加载并执行脚本。不需要调用ajax来返回html来加载另一个脚本(这需要很多往返),只需调用脚本即可

$.getScript('http://exampleurl.de/video/7');

如果初始请求真的很重要(可能需要对后端进行一些解析以确定脚本的链接),则可以让初始响应只返回脚本的url。然后将返回的字符串用于
.getScript()


但是仍然有太多的往返。

请在正在获取的脚本函数中尝试
console.log()
。如果它确实出现,那么脚本已经执行。好的,我还有一些其他问题,但这是您的正确答案。因此,我将此标记为已回答。谢谢在
getScript
文档中:“成功回调:加载脚本后将触发回调,但不一定执行。”
function scriptResponse(data) {
  console.log("data:");
  console.log(data);
}
$.getScript('http://exampleurl.de/video/7');
$.get('initial_url',function(returned_url){
    $.getScript(returned_url);
});