javascript - 如何在ajax响应返回的脚本标签内执行javascript

标签 javascript ajax jquery

我正在发送一个 jquery get 请求,如下所示:

$.get($(this).attr("href"), $(this).serialize(), null, "script");

我期望收到的响应将包含在脚本标记中。

我知道浏览器不会执行响应,除非它返回时没有脚本标记。通常我会从响应中删除标签,但在这种情况下,我无权访问远程计算机上运行的代码,因此无法从源头删除标签。

有没有办法可以从响应客户端去掉脚本标签并执行 JavaScript?

最佳答案

您应该能够执行以下操作:

$.get($(this).attr("href"), $(this).serialize(), function(data){
   var script = $(data).text();
   eval(script);
});

关于javascript - 如何在ajax响应返回的脚本标签内执行javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978101/

相关文章:

javascript - jQuery 获取 DOM 元素的方法

javascript - JS中的变量名有什么问题?

ajax - Drupal 7 ajax_command_* 创建不需要的 div

python - 将错误链接到 WTForms FieldLists 中的正确字段

javascript - FullCalendar 中的工具提示

javascript - 点击删除用JS制作的动态div

javascript - 在下拉列表 1 中选择某项后启用第二个下拉列表

Javascript 增加输入结果并包含逗号

javascript - Angular-1 和 Angular-4 在不同 App 中的共存

javascript - jquery ajax 成功回调的范围?