Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 如何访问函数_Javascript_Jquery_Ajax_Function - Fatal编程技术网

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

我有这样的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',{},函数(数据){
$('#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正确解释结束所需的换行空白字符