Il n'y a pas grand-chose à faire pour contourner les bloqueurs de scripts intersites du navigateur. Ces bloqueurs empêchent XMLHTTPRequest d'arriver à n'importe quel domaine sauf celui qui a chargé le script ou la page contenant. Cela dit, il existe une solution de contournement couramment utilisée: Utilisez JavaScript pour écrire une nouvelle entrée dans le DOM qui fait référence à un src qui est une URL inter-site. Vous passerez tous vos arguments de méthode RPC à ce "script" qui retournera du code JavaScript qui sera exécuté, vous indiquant le succès ou l'échec.
Il n'y a aucun moyen de faire un POST de cette manière, l'URL src doit être un GET, donc vous pouvez passer des arguments de cette façon. Je ne suis pas sûr si WCF a une méthode d'accès "GET seulement". Et puisque le navigateur s'attend à ce que le résultat de la balise distante soit un objet JavaScript valide, vous devrez vous assurer que votre service WCF l'accepte également, sinon vous obtiendrez des erreurs JavaScript.
Une autre méthode courante de contournement des scripts inter-sites consiste à écrire un proxy pour vos demandes. En d'autres termes, si vous souhaitez accéder au domaine test.com à partir de scripts hébergés sur example.com, créez une URL sur example.com qui envoie la requête à test.com de la bonne manière.
Pour votre exemple, le proxy est probablement la bonne réponse, en supposant que WCF n'a pas ses propres restrictions de script intersite.
Comment avez-vous réussi à faire cela? J'ai utilisé exactement le même exemple de code, mais lorsque j'ai essayé de l'intégrer dans mon application, je me suis retrouvé coincé avec les points de terminaison dans web.config. J'ai continué à recevoir des erreurs sur les "liaisons" manquantes, même si j'ai copié toutes les liaisons de l'échantillon. – Jonathan