2010-11-21 17 views
0
  • Wenn ich den Code unten in Cassini versuche, bekomme ich eine gültige Antwort. Wenn ich den folgenden RESTful Anruf in einem Browser mache, sehe ich eine gültige Antwort - http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token]
  • Aber wenn ich meine Website in IIS 7.5 hostet, erhält meine Rückruffunktion ein null Argument.

Meine Frage:Blockiert IIS meinen Rückruf?

IIS konnte 7.5 Reaktion blockieren? http://support.brightcove.com/en/docs/using-xmlhttp-make-calls-proxy:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function validateReadToken() { 
      $.getJSON("http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token]", 
       function (data) { 
        alert(data.items.length); 
       } 
      ); 
     } 

     $(document).ready(function() { 
      $("a").click(function (event) { 
       validateReadToken(); 
      }); 
     });  
    </script> 
</head> 
<body> 
    <a href="javascript:void(0)">Test</a> 
</body> 
</html> 
+2

Hallo Jim, JS würde immer nur auf dem Client ausgeführt (den Web-Browser) damit Ich denke nicht, dass IIS hier in der Kette wäre. –

Antwort

0

Vielen Dank für die Hilfe aller.

In der Tat musste ich darauf achten, dass ich versuchte, eine domänenübergreifende Anfrage zu stellen.

Um diese Einschränkung zu umgehen, muss ich JSONP verwenden.


Neuer Code:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function validateReadToken() { 
      var url = 'http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token]'; 
      $.getJSON(url + "&callback=?", function (data) { 
       alert(data.items.length); 
      }); 
     } 

     $(document).ready(function() { 
      $("a").click(function (event) { 
       validateReadToken(); 
      }); 
     });  
    </script> 
</head> 
<body> 
    <a href="javascript:void(0)">Test</a> 
</body> 
</html> 
1

Könnte dies das Lesen durch wert sein.

Ich bin kein AJAX-Experte, aber Hosting Ihrer Website auf Ihrem eigenen IIS-Server und dann Serviceanfragen gegen Brightcove würde scheinen unter dem Dach der Cross-Domain-Probleme fallen.

Vielleicht wäre ein serverseitiger Proxy der Weg nach vorne.

Cheers, Dan

+0

+1: * ... Hosting Ihrer Website auf Ihrem eigenen IIS-Server und dann Service-Anfragen gegen Brightcove würde unter dem Dach der Cross-Domain-Probleme fallen. * - Sie haben absolut Recht. –

Verwandte Themen