1/** 2 * JS zu tq-tools StructuredData 3 */ 4 5// ID des zuletzt gesendeten AJAX-Requests merken 6var tqtools_structureddata_opengraph_get_lastid; 7 8 9/** 10 * Rest-Aufruf zur Abfrage der og-Daten eines Posts 11 * 12 * @param postid string|integer id des Posts. 13 * @param callback function die Funktion die aufgerufen werden soll wenn die Antwort da ist. 14 * Beispielimplementierung siehe unten tqtools_structureddata_cb_opengraph_get_dummy() 15 */ 16function tqtools_structureddata_opengraph_get(postid, callback) { 17 18 var urlRequest = g_tqtools_structureddata_url_restv1 + '/opengraph-get'; 19 20 var objectData = {postid: postid}; 21 22 // Im Paylout direkt sind die Metas und ein 'data' mit den Formulardaten 23 var payload = { 24 'source': 'some-request', 25 'data': objectData 26 }; 27 28 tqtools_structureddata_opengraph_get_lastid = tqtools_structureddata_sendREST(urlRequest, payload, callback); 29 30} 31 32 33/** 34 * Dummy-CALLBACK für AJAX-Aufruf von tqtools_structureddata_opengraph_get() 35 * 36 * Diese Funktion wird sich typischerweise der Verwender selbst implementieren - er will ja das Ergebnis verwenden. 37 */ 38function tqtools_structureddata_cb_opengraph_get_dummy(oJSON, textStatus, jqXHR) { 39 40 if (!oJSON) { 41 return; 42 } 43 44 if (oJSON.clientid != tqtools_structureddata_opengraph_get_lastid) { // War nicht der letzte Aufruf 45 return; 46 } 47 48 var source = oJSON.source; // Von uns mitgegebener 'source'-Wert 49 50 var status = oJSON.status; // 'OK' oder 'ERROR' 51 var statuskey = oJSON.statuskey; // Feinerer Status, z.B. 'INVALID_EMAIL'. Details in StructuredData->rest_opengraph_get(). 52 var message = oJSON.message; // Nachricht als Text/html. Ist zur Ausgabe an den Benutzer gedacht 53 54 var oData = oJSON.data; // Rückgabe-Daten des REST - das sind die OpenGraph-Daten 55 56 if (status === 'OK') { 57 58 alert("tqtools_structureddata_cb_opengraph_get_dummy():\n" + 59 "Title: " + oData.title + "\n" + 60 "Site-Name: " + oData.site_name + "\n" + 61 "Description: " + oData.description + "\n" + 62 "Image: " + oData.image + "\n" + 63 "Thumbnail: " + oData.thumbnail + "\n" + 64 "Url: " + oData.url + "\n" + 65 "Type: " + oData.type + "\n" + 66 "local: " + oData.locale + "\n" 67 ); 68 69 } else { 70 71 alert("tqtools_structureddata_cb_opengraph_get_dummy(): Oh, an error: " + message); 72 73 } 74 75} 76 77/** 78 * Erledigt das, was allen Posts an unsere REST-API gemeinsam ist. 79 * 80 * @param oPayload object die zu schickenden Daten. Die Properties des Objects selbst sind verschiedene Metas wie 'source' 81 * und dann in 'data' ein Objekt der eigentlichen Daten (Formulardaten) 82 * @return die last-id zur Identifikation des (letzten) Aufrufs 83 */ 84function tqtools_structureddata_sendREST(urlRequest, oPayload, callback_success) { 85 86 var lastclientid = new Date().getTime(); 87 88 oPayload.clientid = lastclientid; 89 oPayload.lang = g_tqtools_structureddata_lang; 90 91 var settings = { 92 type: 'POST', 93 url: urlRequest, 94 data: oPayload, 95 success: callback_success, 96 dataType: 'json' 97 } 98 jQuery.ajax(settings); 99 100 return lastclientid; 101 102}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.