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 :
Mes fonctions javascript ce trouve dans mon header :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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");
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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">
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(typeof SearchCompleted == 'function') SearchCompleted({"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"Espero"},"Translation":{"Results":[{"TranslatedTerm":"Espero"}]}}} /* pageview_candidate */);
Partager