API的URL不在循环中工作

时间:2013-12-20 10:58:04

标签: jquery ajax

我通过某些网站的API访问数据。我在一个循环中使用它,以便逐个获得114个JSON响应。但它没有工作并显示错误: 的

        for (var counter = 1; counter < 114; counter++) {
            $.ajaxSetup({ cache: true, jsonpCallback: 'quranData' }); // define ajax setup
            $.getJSON("http://api.globalquran.com/surah/"+counter+"/quran-simple?jsoncallback=?", {
                format: "jsonp"
            }, function (Obj) {
                $.each(Obj.quran, function (i, by) {
                    $.each(by, function (verseNo, line) {
                        var obj = {
                            'ayah_no': line.ayah_no,
                            'ayah': line.ayah,
                            'surah': line.surah,
                            'verse': line.verse
                        };
                        c++;
                        num++;
                        things.push(obj);
                     });
                 });
return false;
              });
        }

但它在浏览器控制台上显示错误:

Uncaught TypeError: Property 'quranData' of object [object Object] is not a function quran-simple?jsoncallback=quranData&format=jsonp:1

如何运行此循环?

2 个答案:

答案 0 :(得分:0)

你定义了函数 quranData

你必须只设置一次$ .ajaxSetup(例如你的循环之前)

答案 1 :(得分:0)

尝试在一次通话中获得整个古兰经。它可以节省至少10秒的通话时间。 http://api.globalquran.com/complete/quran-simple?format=json 然后使用json数据进行解析。

希望有所帮助