jquery处理ajax对象之外的ajax响应

Lee*_*iss 4 ajax jquery

我正在使用jQuery,我需要处理在AJAX对象之外的AJAX调用期间收集的数据:

function getData(yt_url){
$.ajax
        ({
            type: "GET",
                        url: yt_url,
                        dataType:"jsonp",success: function(response){
                            //   Return response here //

                        },error:function (request, status, error) {alert(status);}
                    });}
Run Code Online (Sandbox Code Playgroud)

我想调用该函数getData并在AJAX成功函数中接收响应对象.

我已经尝试添加一些返回,然后当然我意识到它是一个对象.

Ble*_*der 8

AJAX是异步的,这基本上意味着它不会阻止脚本的执行(这很好,因为你的网站在加载时不会冻结).

return像你正在做的值是同步的,这与AJAX不兼容.

一种解决方案是将回调函数传递给getDataAJAX请求完成时调用的函数:

function getData(yt_url, callback) {
    $.ajax({
        type: "GET",
        url: yt_url,
        dataType: "jsonp",
        success: callback,
        error: function(request, status, error) {
            alert(status);
        }
    });
}?
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样使用它:

getData('http://www.example.com/', function(response) {
    alert('The response was: ' + response);
});
Run Code Online (Sandbox Code Playgroud)