$ .get() - 通过回调将数据传递给外部函数? (请关闭)

时间:2012-12-07 06:49:49

标签: jquery ajax

我有一个简单的问题:你能在$.get()的回调中初始化一个函数吗?

例如,这并不警告" get":

function outside() {
    alert('get');
}
$.get('foo.txt', function(data) {
    outside();
});

http://jsfiddle.net/d69vz/3/

但是,使用$.ajax提醒" ajax"正如所料:

function outside() {
    alert('ajax');
}
$.ajax({
    url: 'foo.txt',
    type: 'GET',
    success: function(data) {
        outside();
    }
});

http://jsfiddle.net/v8zqZ/

我意识到$.get()只被$.ajax()剥离了,但我怎么知道我是否可以在回调中使用外部函数?

编辑:关闭它,这是个人错误。

我打电话的文件有一个header('Content-type: application/xml');,所以"智能" jQuery设置的数据类型是" xml"什么时候它应该被设置为" html。"使用时,我的代码与$.get()一起使用:

function outside() {
    alert('get');
}
$.get('foo.txt', function(data) {
    outside();
},
"html"
);

1 个答案:

答案 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/