javascript中的GET请求仅适用于IE

时间:2016-07-25 00:32:02

标签: javascript jquery

此请求仅适用于Internet Explorer, 我尝试了很多不同的解决方案,两天之后我一直试图让它发挥作用而我无法解决。请指教。

纯javascript:

     var xmlhttp = new XMLHttpRequest();
     xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            data = xmlhttp.responseText;
            console.log(data);
            document.getElementById("p").innerText = data;
         }
       };
    xmlhttp.open("GET", "http://myanimelist.net/api/anime/search.xml?q=naruto", true);
    xmlhttp.setRequestHeader('Authorization','Basic TUFMUTpNTU1xcXExMTEyMjJAQEAjIyM='); 
    xmlhttp.send(null);

jquery的:

    $.ajax({
   url: "http://myanimelist.net/api/anime/search.xml?q=naruto",
   cache: false,
   headers: {"Authorization": "Basic TUFMUTpNTU1xcXExMTEyMjJAQEAjIyM=" ,"Content-Type": "application/xml"},
   method: 'GET',
   dataType: 'xml',
   async: true,
   success: function(data) {
     var xmlText = new XMLSerializer().serializeToString(data);
     var xmlTextNode = document.createTextNode(xmlText);
     var parentDiv = document.getElementById('sdiv');
     parentDiv.appendChild(xmlTextNode);
    }
  });

1 个答案:

答案 0 :(得分:0)

由于Same Origin Policy

,AJAX仅限于您网站的同一个域

您必须找到绕过它的方法,或者将AJAX与服务器端脚本结合使用以获得所需的结果。如果你打算使用类似PHP的东西,你可以使用像simplexml_load_string(file_get_contents("http://example.org/search.xml?query"));这样的东西,但我想你也会发现有问题的域也在使用HTTP身份验证