Jquery Can';t从外部脚本调用内联javascript函数

Jquery Can';t从外部脚本调用内联javascript函数,jquery,ajax,function,external,inline,Jquery,Ajax,Function,External,Inline,我在body标记的开头用内联脚本声明了一个函数。 然后在外部脚本中。在表格上提交。它触发一个匿名函数 它处理表单中的数据并提交$.ajax方法。在文件末尾调用外部脚本 问题是我在表单标记中指定了一个函数名作为“data success=“functionName””。它确实会触发外部脚本中的函数。 但是外部脚本无法识别html文件中调用的内联函数 这里有一个例子。 HTML 您的searchResult是ready回调中的本地结果,无法从ready回调外部访问 您可以通过将其移出,使其全球化:

我在body标记的开头用内联脚本声明了一个函数。 然后在外部脚本中。在表格上提交。它触发一个匿名函数 它处理表单中的数据并提交$.ajax方法。在文件末尾调用外部脚本

问题是我在表单标记中指定了一个函数名作为“data success=“functionName””。它确实会触发外部脚本中的函数。 但是外部脚本无法识别html文件中调用的内联函数

这里有一个例子。

HTML


您的
searchResult
ready
回调中的本地结果,无法从
ready
回调外部访问

您可以通过将其移出,使其全球化:

$(document).ready(function() {
    // ...anything that needs to wait goes here...
});

function searchResult(data) {
  alert()
}
…然后,回调之外的代码(例如在其他脚本中)可以访问它


但是环球是件坏事™. :-) 您可以查看或类似的打包/捆绑系统,这些系统允许您使用导入机制编写具有依赖项但不使用全局变量的离散脚本文件。(如果您使用像transpiler和其中一个捆绑包一样的transpiler,甚至可以使用ES2015+[aka“ES6”]中定义的新的
导入
导出
机制。)

您的
搜索结果
就绪
回调中的本地结果,无法从
就绪
回调外部访问

您可以通过将其移出,使其全球化:

$(document).ready(function() {
    // ...anything that needs to wait goes here...
});

function searchResult(data) {
  alert()
}
…然后,回调之外的代码(例如在其他脚本中)可以访问它

但是环球是件坏事™. :-) 您可以查看或类似的打包/捆绑系统,这些系统允许您使用导入机制编写具有依赖项但不使用全局变量的离散脚本文件。(如果您使用的是像ES2015+[aka“ES6”]这样的transpiler和捆绑机,甚至可以使用ES2015+[aka“ES6”]中定义的新的
导入
导出
机制。)

$(document).ready(function() {
    // ...anything that needs to wait goes here...
});

function searchResult(data) {
  alert()
}