2012-01-11 18 views
1

次のコードを使用して、JavaScriptを使用してREST APIを呼び出しています。このコードはIEで正常に動作しますが、Firefox 9.0.1のsendメソッドでハングします。私はIEがではないと信じています前の応答を現金化します。FirefoxでJavaScriptからREST APIを呼び出すことができません

私はFirebugでデバッグしようとしましたが、それは役に立ちません。 Firefox用のXMLHttpRequestオブジェクトは正常に作成され、すべてのコードを処理しますが、応答はありません。

<script language="javascript" type="text/javascript"> 

    function processRequest() { 
     var signedURI = "http://api.saaspose.com/v1.0/storage/disc?appSID=myappSID&signature=mySignature"; 

     var xmlhttp = null; 

     if (window.XMLHttpRequest) { 
      xmlhttp = new XMLHttpRequest(); 
      if (typeof xmlhttp.overrideMimeType != 'undefined') { 
       xmlhttp.overrideMimeType('text/xml'); 
      } 
     } else if (window.ActiveXObject) { 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } else { 
      alert('Not supported!'); 
     } 

     xmlhttp.open('GET', signedURI, true); 

     xmlhttp.onreadystatechange = function() { 

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 

      alert(xmlhttp.responseText); 

      } else { 
       //alert("ready state : " + xmlhttp.readyState.toString() + " status : " + xmlhttp.status.toString()); 
      } 
     }; 

     xmlhttp.send(null); 
    } 
</script> 

なぜこの問題はFirefoxでは発生していますが、IEでは発生しませんか?

+2

どのバージョンのFirefoxですか?また、Firebugをインストールしていますか?あなたはワイヤーで何が起こっているのか見てみることができますか? –

+2

あなたはfirebugでデバッグしていますか?このような時にはとても便利です。 – matpol

+0

FFバージョンは9.0.1です。私はFirebugで試して、結果を皆さんと共有します。提案していただきありがとうございます。 –

答えて

2

チームは次のように終わるWCFサービスにJSONPのサポートを追加し、クライアント側でのjQueryを使用してこの問題を解決する必要がありました:

 $(function() { 
     $("#disc").click(function() { 
      $.getJSON("http://api.saaspose.com/v1.0/storage/disc?appSID=appsid&signature=signature&callback=?", function (data) { 
       var items = []; 
       $("#discResult").append('<br/><b>Status: ' + data.Status + '</b>'); 
       if (data.Status = 'OK') { 
        var discUsage = data.DiscUsage; 
        $.each(discUsage, function (key, val) { 
         items.push('<li id="' + key + '">' + key + ': ' + val + '</li>'); 
        }); 

        $('<ul/>', { 
         'class': 'my-new-list', 
         html: items.join('') 
        }).appendTo('#discResult'); 
       } 
      }); 
     }); 
    }); 

はあなたのコメントありがとうございました。

関連する問題