Javascript 如何从AJAX请求返回的代码调用函数?

Javascript 如何从AJAX请求返回的代码调用函数?,javascript,ajax,function,Javascript,Ajax,Function,示例函数: function myFunction() { alert("Test"); } myFunction(); 当在普通HTML网页中调用时,这将正常运行。但是如果这是从AJAX调用返回的innerHTML内容的一部分,那么函数调用myFunction()不起作用 例如,如果通过AJAX更改了divTestDiv的内容,并且innerHTML包含以下内容: <span>AJAX Result</span> <script language="Jav

示例函数:

function myFunction() {
  alert("Test");
}

myFunction();
当在普通HTML网页中调用时,这将正常运行。但是如果这是从AJAX调用返回的innerHTML内容的一部分,那么函数调用
myFunction()不起作用

例如,如果通过AJAX更改了div
TestDiv
的内容,并且innerHTML包含以下内容:

<span>AJAX Result</span>
<script language="JavaScript">myFunction();</script>
AJAX结果
myFunction();

当AJAX请求完成时,此代码将不起作用。如何解决这个问题?

在ajax请求的成功方法中调用您的函数

$.ajax({
   url: 'your url',
   data: { data: data},
   success: function(data) {
      // Your function
      myFunction();
   }
});
顺便说一句,如果您使用的是html5,则脚本标记上不再需要该类型

<script></script>

否则就是

<script type="text/javascript"></script>


如果您不展示如何处理AJAX响应,我们将无能为力。使用
.innerHTML
插入脚本时,可能的脚本副本不会运行。必须显式创建脚本节点。如果您使用jQuery的
.load()
方法,它将为您解决这个问题。AJAX请求也将返回HTML输出。是否可以同时返回“innerHTML”内容和参数“data”?innerHTML将是数据,您可以只解析Is并附加到div或对其进行操作。