我有这样的JavaScript代码:
<script>
function Foo() { alert('Foo'); }
$.post('file.php', {}, function(data) {
$('#elem').append(data);
});
</script>
<div id="elem"></div>
示例数据:
<script>Foo()</script>
当然,那里Foo()
无法进入。我怎么能抓住它呢?
答案 0 :(得分:3)
确保
#elem
。 (尝试将其放在脚本之前,以确保)foo
的文档就绪方法中定义函数$(function(){ //FOO should not be defined in here.. });
。答案 1 :(得分:0)
foo
如果在您调用之前已定义,则应该可以访问。
此外,您应该使用分号;
<script>
function Foo() {
alert('Foo');
}
</script>
...
<script>
Foo();
</script>
答案 2 :(得分:0)
尝试:
$.ajax({
url: "test.html",
dataType: "script",
success: function(data){
$('#elem').append(data);
}
});
希望这有帮助。
答案 3 :(得分:0)
如果您append("<script>Foo()</script>")
,/
会破坏字符串。
只需添加\
字符,如下所示:append("<script>Foo()<\/script>")
。
是的,我知道这个字符串在你的情况下是一个ajax返回。
所以,只需从服务器端返回"<script>Foo()<\/script>"
。
答案 4 :(得分:-2)
简单的回答。你需要像这样设置一个变量:var foo = function(){}
<script type="text/javascript">
var foo = function(data){
alert(data);
}
$.post({
url: 'someurl.aspx',
success: function(data){
foo(data);
}
});
</script>