2010-11-21 18 views
0
  • Lorsque j'essaie le code ci-dessous dans Cassini, j'obtiens une réponse valide. Lorsque je fais l'appel RESTful suivant dans un navigateur, je vois une réponse valide: http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token].
  • Mais lorsque j'héberge mon site Web dans IIS 7.5, ma fonction de rappel reçoit un argument null.

Ma question:IIS bloque-t-il mon rappel?

Peut-IIS 7.5 bloque la réponse ?


<!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

Salut Jim, JS ne ferait que jamais couru sur le client (le navigateur Web) alors Je ne pense pas que IIS serait dans la chaîne ici. –

Répondre

0

Merci pour l'aide de tout le monde.

En effet, je devais faire attention au fait que j'essayais de faire une demande inter-domaine.

Pour contourner cette limitation, j'ai besoin d'utiliser JSONP.


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

vaudraient peut-être lu ce: http://support.brightcove.com/en/docs/using-xmlhttp-make-calls-proxy.

Je ne suis pas un expert AJAX, mais l'hébergement de votre site sur votre propre serveur IIS, puis de faire des demandes de service contre brightcove semblerait tomber sous le parapluie de problèmes inter-domaines.

Peut-être essayer un proxy côté serveur serait la voie à suivre.

Cheers, Dan

+0

+1: * ... héberger votre site sur votre propre serveur IIS, puis faire des demandes de service contre brightcove semblerait tomber sous le parapluie de problèmes inter-domaines. * - Vous avez absolument raison. –