JavaScript IE 从 json 文件中读取数据 访问被拒绝



我在 IE 浏览器和 Chrome 上的代码有问题,在 FireFox 中都做得很好。

var currentPage = 1;
var max = 0;
var myList = [];
var links = [];  
    $.ajax({
        cache: false,
        type : 'GET',
        crossDomain: true,
        contentType: "application/json",
        dataType : 'json',
        url: 'list.json',
        success : function(data) {
            $.each(data, function(key, value){
                if(window.location.href == value.link){
                    document.getElementById("count").innerHTML = value.page;
                    currentPage = value.page;
                }
                document.getElementById("countAll").innerHTML = value.page;
                myList.push("<li><a href=" + value.link +"><b>"+value.page+"</b></a></li>");
                max = value.page;
                links.push(value.link);
                })
            $('.pagination').html(myList.join(''));
            if ( currentPage == 0){
                document.getElementById("leftArrow").innerHTML = "&#10096;"
                document.getElementById("rightArrow").innerHTML = "<a href="+links[currentPage]+">&#10097;</a>";
            } else if (currentPage == max){
                document.getElementById("leftArrow").innerHTML = "<a href="+links[currentPage-2]+">&#10096;</a>";
                document.getElementById("rightArrow").innerHTML = "&#10097;"
            } else {
                document.getElementById("leftArrow").innerHTML = "<a href="+links[currentPage-2]+">&#10096;</a>";
                document.getElementById("rightArrow").innerHTML = "<a href="+links[currentPage]+">&#10097;</a>";
            }
        }
    }).error(function(jqXHR, textStatus, errorThrown) { alert(errorThrown); });

在IE中,我犯了错误:"访问被拒绝",有人知道这个问题吗?感谢您的回复。

既然您正在访问的 url 是本地的,为什么使用 crossDomain 属性?

 $.ajax({
        cache: false,
        type : 'GET',
        crossDomain: true // <--- cross domain

如果你真的需要做跨域调用,也许你应该试试这个适用于IE的jQuery插件:

https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

最新更新