Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2011, 09h58   #1
Membre régulier
 
Inscription : janvier 2011
Messages : 283
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 283
Points : 96
Points : 96
Par défaut bing transaltion fonction js

Bonjour,

Je cherche a traduire via bing transaltion, un resultat Json. Je me base sur ce tuto qui a l'air simple : http://msdn.microsoft.com/en-us/library/dd877846.aspx

Mon fichier Json fonctionne très bien.

J'utilise des includes dans mon php, comme ceci :
Code :
1
2
3
4
5
6
7
include("./include/header.php"); 
include("./include/conn.php");
 
$sql=mysql_query(requete);
 
include("./include/lec.php");
include("./include/dec.php");
Mes fonctions javascript ce trouve dans mon header :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!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>Bing API 2.2 Translation Sample</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script id="searchCallback" type="text/javascript" src="">
    </script>
 
<script type="text/javascript">
 
    // Remplacer la chaîne suivante à la AppId vous avez reçu de Centre 
 // Bing Developer.  var AppId = "Insérez votre AppId ici";
 // Bing API échantillon de code 2.2 démontrant l'utilisation de l'SourceType
     var AppId = "App"; //Dans mon code ce champs est bien renseigner
     // Traduction sur le protocole JSON.  
    function Search()
    {
 
        var requestStr = "http://api.bing.net/json.aspx?"
 
             // Champs de demande commune (requis) 
            + "AppId=" + AppId
            + "&Query=Espero"
            + "&Sources=Translation"
 
            // champs de demande commune (facultatif) 
            + "&Version=2.2"
 
           // SourceType champs spécifiques (requis)
            + "&Translation.SourceLanguage=fr"
            + "&Translation.TargetLanguage=en"
 
             // JSON champs spécifiques demande (option)
            + "&JsonType=callback"
            + "&JsonCallback=SearchCompleted";
 
         var requestScript = document.getElementById("searchCallback");
 
         requestScript.src = requestStr;
         alert(requestStr);//voir en bas de la conversation
 
    }
 
    function SearchCompleted(response)
    {
	//alert(response);
 
        var errors = response.SearchResponse.Errors;
        if (errors != null)
        {
            // / Il ya des erreurs dans la réponse.  Afficher les détails d'erreur
            DisplayErrors(errors);
 
        }
        else
        {
            // Il n'y avait aucune erreur dans la réponse.  Affichage des résultats 
           // Traduction
            DisplayResults(response);
 
        }
    }
 
    function DisplayResults(response)
    { 
        var output = document.getElementById("output");
        var resultsHeader = document.createElement("h4");
        var resultsList = document.createElement("ul");
        output.appendChild(resultsHeader);
        output.appendChild(resultsList);
 
        var results = response.SearchResponse.Translation.Results;
 
        // Affichage de la tête des résultats.
        resultsHeader.innerHTML = "Bing API Version "
            + response.SearchResponse.Version
            + "<br />Translation results for "
            + response.SearchResponse.Query.SearchTerms
            + "<br />";
 
         // affichage des résultats de traduction.
        var resultsListItem = null;
        for (var i = 0; i < results.length; ++i)
        {
            resultsListItem = document.createElement("li");
            resultsList.appendChild(resultsListItem);
            resultsListItem.innerText = results[0].TranslatedTerm;
        }
    }
 
        function DisplayErrors(errors)
    {
        var output = document.getElementById("output");
        var errorsHeader = document.createElement("h4");
        var errorsList = document.createElement("ul");
        output.appendChild(errorsHeader);
        output.appendChild(errorsList);
 
        // Itérer sur la liste des erreurs et afficher les détails d'erreur.  
        errorsHeader.innerHTML = "Errors:";
        var errorsListItem = null;
        for (var i = 0; i < errors.length; ++i)
        {
            errorsListItem = document.createElement("li");
            errorsList.appendChild(errorsListItem);
            errorsListItem.innerHTML = "";
            for (var errorDetail in errors[i])
            {
                errorsListItem.innerHTML += errorDetail
                    + ": "
                    + errors[i][errorDetail]
                    + "<br />";
            }
 
            errorsListItem.innerHTML += "<br />";
        }
    }
 
    </script>
	</head>
<body onload="Search()">
<div id="output">
La fin de mon div et body se trouve dans mon fichier dec et j'ai bien une variable $output qui se trouve dans lec.php (qui est inclu).

Alors en mettant des alert je me suis aperçu que je rentrais bien dans la fonction Search mais pas dans les autres.
Lien que je recupere via mon alert(requestStr) est :http://api.bing.net/json.aspx?AppId=...earchCompleted.
En allant sur ce lien je vois :
Code :
if(typeof SearchCompleted == 'function') SearchCompleted({"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"Espero"},"Translation":{"Results":[{"TranslatedTerm":"Espero"}]}}} /* pageview_candidate */);
Personnellement je vois pas comment il peut rentrée dans mes autres fonctions (SearchCompleted, DisplayResults ou DisplayErrors) car je note nul par SearchCompleted(response) par exemple.
xouzi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2011, 16h03   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonjour,
un truc bête, es tu inscrit sur BING
Inscrivez-vous pour utiliser l'API de recherche Bing et créer des AppID
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 09h42   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 283
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 283
Points : 96
Points : 96
Oui j'ai bien une API. J'ai choisi un autre moyen
xouzi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h54.


 
 
 
 
Partenaires

Hébergement Web