JSONP不适用于任何版本的IE

时间:2014-03-06 18:59:14

标签: javascript ajax json internet-explorer jsonp

所以,我的问题比普通的JSONP要复杂一点,因为它根据返回值进行了几次JSON调用。

基本上,API会抓取一些帮助台文章,然后使用每篇文章中的数据生成一个CSS类,可以识别哪些文章有视频,向那些文章添加一个类,然后将它们全部显示为HTML列表。以下是我正在使用的脚本,它在Safari,Chrome和Firefox中有效,但在IE中却没有。我曾尝试搞乱xdr脚本,但还没有能够弄清楚如何使这个工作。有任何想法吗?任何帮助将不胜感激。这是我的代码:

    var currentJson = '//helpdesk.url.com/api/v1/entries.json?callback=?';
    items = [];
    //the main jsonp function
    $.ajax({
        url: currentJson,
        dataType: 'jsonp',
        success: 
        function (data) {
            data.sort(function(a,b) { return parseFloat(a.hits,5) + parseFloat(b.hits,5) } );
            $.each(data, function (key, val) {
                //define forum JSON of an article
                var forumJson = '//helpdesk.url.com/api/v1/forums/' + val['forum_id'] + '.json?callback=?';
                var postID = val['id']
                var postLink = 'https://helpdesk.url.com/entries/' + val['id'] + '/';
                //get the JSON data for the forum
                $.ajax({
                    url: forumJson,
                    dataType: 'jsonp',
                    success:

                    function (data2) {
                        //get the Category ID
                        var theID = data2.category_id;  
                        //log the ID (optional)
                        console.log(theID);
                        //if the category ID is the Videos category
                        if(theID == 20085107) {
                            //add class for video
                            var theClass = 'video';
                        }
                        //otherwise don't add a class
                        else { theClass = '' }

                        //push html to items variable
                        items.push('<li><a id=' + postID + '" href="' + postLink + '" class="' + theClass + '" >' + val['title'] + '</a></li>');
                        //merge each list item
                        $('#topfaqs').html(items.join(' '));
                    }
                });
                //return 5 results

            });

        }
    });

我想做的就是让它在IE中运行。我在这里尝试了很多解决方案,但我必须在逻辑/流程中遗漏一些东西。您可以提供的任何信息和帮助将是一个巨大的帮助!

编辑: 以下是Internet Explorer在控制台中返回的错误

  

来自helpdesk.url.com/api/v1/entries.json的脚本被阻止了   哑剧类型不匹配

0 个答案:

没有答案