1. // 利用script标签没有跨域限制,通过src指向一个ajax的URL,最后跟一个回调函数callback
    2. var jsonp = function (url, data, callback) {
    3. var cbName = 'callback_' + new Date().getTime();
    4. var queryString = url.indexOf('?') == -1 ? '?' : '&';
    5. for (var k in data) {
    6. queryString += k + '=' + data[k] + '&';
    7. }
    8. queryString += 'callback=' + cbName;
    9. var script = document.createElement('script');
    10. script.src = url + queryString;
    11. window[cbName] = function (data) {
    12. callback(data);
    13. document.body.removeChild(script);
    14. };
    15. // 添加到body尾部
    16. document.body.appendChild(script);
    17. }
    18. // 实测
    19. jsonp('http://api.douban.com/v2/movie/in_theaters', {'count': 1}, function (data) {
    20. console.log(data)
    21. })