【问题标题】:jQuery AJAX jsonp return response after donejQuery AJAX jsonp 完成后返回响应
【发布时间】:2017-10-15 07:23:54
【问题描述】:

这里有类似的问题How do I return the response from an asynchronous call?

在 Ajax JSONP 中,完成后如何获得响应?

https://jsfiddle.net/zerolfc/svwxm5tt/

class Api {

    constructor() {

    }

    yahoo(query) {

    }

    jsfiddle(query){

        let result = '';

        $.ajax({
            url: 'https://jsfiddle.net/echo/jsonp/',
            dataType: 'jsonp',
            jsonpCallback: 'jsonp',
            data: {
              query: 'query',
              format: 'json'
            },
        }).done(function(response) {
            result = response;
            console.log(result);
        });

        return result;

    }

}

$api = new Api;

console.log( $api.jsfiddle() ); // empty

【问题讨论】:

    标签: javascript jquery ajax class jsonp


    【解决方案1】:

    JSONP“协议”依赖于网站以 JavaScript 语句形式回复您的请求,

     someFunction( someJSON )
    

    函数的名称作为参数从您的代码中提供, 想法是响应脚本,一旦被使用, 由浏览器解释,将导致对该函数的调用 带有一个已解析的 JSON 数据块——也就是说,一个 JavaScript 对象。这 jQuery 库会为你做一些簿记工作,甚至是 创建要调用的全局范围函数的范围(其中 将是仅调用您提供的回调作为“成功”的代码 论据)。

    Example

    【讨论】:

      猜你喜欢
      • 2013-02-05
      • 2012-01-25
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多