我有一个简单的问题:你能在$.get()
的回调中初始化一个函数吗?
例如,这并不警告" get":
function outside() {
alert('get');
}
$.get('foo.txt', function(data) {
outside();
});
但是,使用$.ajax
提醒" ajax"正如所料:
function outside() {
alert('ajax');
}
$.ajax({
url: 'foo.txt',
type: 'GET',
success: function(data) {
outside();
}
});
我意识到$.get()
只被$.ajax()
剥离了,但我怎么知道我是否可以在回调中使用外部函数?
编辑:关闭它,这是个人错误。
我打电话的文件有一个header('Content-type: application/xml');
,所以"智能" jQuery设置的数据类型是" xml"什么时候它应该被设置为" html。"使用时,我的代码与$.get()
一起使用:
function outside() {
alert('get');
}
$.get('foo.txt', function(data) {
outside();
},
"html"
);
答案 0 :(得分:1)
是的,你可以。您的jsfiddle失败,因为'foo.txt'请求返回错误。以下是一个工作jsfiddle的示例:http://jsfiddle.net/pXSmj/
var speak = function() { alert('hi'); }
$(document).ready(function() {
$.get('../img/logo.png', function(data) {
speak();
});
});
以下是jsfiddle的更新,outside
调用foo.txt请求失败:http://jsfiddle.net/d69vz/1/