Javascript 如何访问函数
我有这样的JavaScript代码:Javascript 如何访问函数,javascript,jquery,ajax,function,Javascript,Jquery,Ajax,Function,我有这样的JavaScript代码: <script> function Foo() { alert('Foo'); } $.post('file.php', {}, function(data) { $('#elem').append(data); }); </script> <div id="elem"></div> 函数Foo(){alert('Foo');} $.post('file.php',{},函数(数据){ $('#e
<script>
function Foo() { alert('Foo'); }
$.post('file.php', {}, function(data) {
$('#elem').append(data);
});
</script>
<div id="elem"></div>
函数Foo(){alert('Foo');}
$.post('file.php',{},函数(数据){
$('#elem')。追加(数据);
});
示例数据:
<script>Foo()</script>
Foo()
当然,
Foo()
在那里是不可访问的。如何抓取并调用它?foo
如果在调用它之前定义了它,那么它应该是可访问的
此外,您应该使用分号终止函数调用代码>
<script>
function Foo() {
alert('Foo');
}
</script>
函数Foo(){
警报(“Foo”);
}
Foo();
foo
如果在调用它之前定义了它,那么它应该是可访问的
此外,您应该使用分号终止函数调用代码>
<script>
function Foo() {
alert('Foo');
}
</script>
函数Foo(){
警报(“Foo”);
}
Foo();
简单的答案。您需要这样设置一个变量:var foo=function(){}
var foo=函数(数据){
警报(数据);
}
美元邮政({
url:'someurl.aspx',
成功:功能(数据){
foo(数据);
}
});
简单的答案。您需要这样设置一个变量:var foo=function(){}
var foo=函数(数据){
警报(数据);
}
美元邮政({
url:'someurl.aspx',
成功:功能(数据){
foo(数据);
}
});
确保
jQuery已加载
#elem
是在ajax调用返回时定义的。(尝试将其放在脚本之前以确保)
确保函数foo
未在jquery的document ready方法中定义(函数(){//foo不应在此处定义..})代码>
示例位于确保
jQuery已加载
#elem
是在ajax调用返回时定义的。(尝试将其放在脚本之前以确保)
确保函数foo
未在jquery的document ready方法中定义(函数(){//foo不应在此处定义..})代码>
例如,请尝试:
$.ajax({
url: "test.html",
dataType: "script",
success: function(data){
$('#elem').append(data);
}
});
希望这有帮助。试试:
$.ajax({
url: "test.html",
dataType: "script",
success: function(data){
$('#elem').append(data);
}
});
希望这有帮助。如果您附加(“Foo()”)
,则/
会打断字符串。
只需添加\
字符,如下所示:append(“Foo()”)
是的,我知道这个字符串在您的情况下是一个ajax返回。
因此,只需从服务器端返回“Foo()”
看看这把小提琴:如果您附加(“Foo()”)
,则/
会打断字符串。
只需添加\
字符,如下所示:append(“Foo()”)
是的,我知道这个字符串在您的情况下是一个ajax返回。
因此,只需从服务器端返回“Foo()”
看看这把小提琴:需要更多的上下文和信息。脚本本身就是这样工作的。当它从服务器返回时,data
是什么样子的?通过“示例数据”,我猜ajax调用返回的是脚本标记,其中包含函数调用?您确定函数调用在放置到页面上后执行吗?也许您应该将append
更改为html
。我在这里进行了测试,它将值强制输入到数据中
。还要检查您的服务器代码是否未返回编码的…需要更多上下文和信息。脚本本身就是这样工作的。当它从服务器返回时,data
是什么样子的?通过“示例数据”,我猜ajax调用返回的是脚本标记,其中包含函数调用?您确定函数调用在放置到页面上后执行吗?也许您应该将append
更改为html
。我在这里进行了测试,它将值强制输入到数据中
。还要检查您的服务器代码是否未返回编码的代码…您能否更具体地提供更多实际代码,以便我们提供帮助?上面的代码只是声明函数的一个示例,实际的$.post代码将无法工作。。。显然。不,你不需要这样设置foo。有趣的是,这是两次被否决的结果,却被标记为答案。仇恨者会憎恨的。你能更具体一点,提供更多实际的代码,这样我们就能提供帮助吗?上面的代码只是声明函数的一个示例,实际的$.post代码将无法工作。。。显然。不,你不需要这样设置foo。有趣的是,这是两次被否决的结果,却被标记为答案。不,函数不需要以分号结尾,javascript也不需要空格。但是它可以帮助你避免犯愚蠢的错误。像上面定义的函数不需要分号。但是函数调用,比如foo()代码>应以分号结尾。蒂莫西是对的。@BrunoLM:他没说需要,他说应该。尽管没有必要,但最好使用分号结束所有表达式,这不仅是为了可读性,更重要的是,根据您使用的系统/编辑器,javascript正确解释表达式结尾所需的换行空白字符可能会被删除,这将导致错误。在这种情况下,它不会发生,因为它是一行代码,但一般来说,它可以而且确实发生。@mark biek:请仔细阅读。我写道:应该用分号终止函数调用
不,函数不需要以分号结束,javascript也不需要空格。但是它可以帮助你避免犯愚蠢的错误。像上面定义的函数不需要分号。但是函数调用,比如foo()代码>应以分号结尾。蒂莫西是对的。@BrunoLM:他没说需要,他说应该。尽管没有必要,但最好使用分号结束所有表达式,这不仅是为了可读性,更重要的是,取决于您使用的系统/编辑器,javascript正确解释结束所需的换行空白字符