2016-05-14 21 views
-1

Ich versuche, Aktienanzahl von verlinkt zu bekommen. Fehler Referenzfehler: IN ist nicht definiert istReferenceError: IN ist nicht definiert linkedin share count Problem

$.ajax({ 
    dataType: "jsonp", 
    jsonp: false, 
    url: "http://www.linkedin.com/countserv/count/share", 
    data: { 
     //callback:'', 
     format: "jsonp", 
     url: "<?php echo $actual_link; ?>" 

    } 
}).done(function(data) { 
    alert(data.fCntPlusOne); 
    console.log("t3"); 
    document.getElementById("tlinked").innerHTML = data.fCntPlusOne; 
    ab = ab + parseInt(data.fCntPlusOne); 
    if(ab > 999) 
     { 
      ab = ab/1000; 
      ab = Math.round(ab,1); 
      ab = ab+"k"; 

     } 
+0

In welcher Zeile tritt der Fehler auf? Ich sehe "IN" nirgends im Code. – Barmar

+0

IN.Tags.Share.handleCount ({"Anzahl": 1, "fCnt": "1", "fCntPlusOne": "2", "URL": "http: \/\/www.propros.com \/Quiz-Schule \/browse \/"}); im Konsolenbereich –

+0

Warum hast du 'jsonp: false'? Was passiert, wenn Sie das entfernen? – Barmar

Antwort

0

entfernen jsonp: false aus den $.ajax Optionen. Dies weist jQuery an, der AJAX-Anforderung keinen callback-Parameter hinzuzufügen, und LinkIn verwendet standardmäßig IN.Tags.Share.handleCount als Rückruffunktion. Meine Vermutung ist, dass diese Funktion Teil einer API-Bibliothek ist, die Sie von ihnen erhalten können, aber es funktioniert nicht, wenn Sie Ihren eigenen AJAX-Code verwenden. Sie sollten jQuery eine eigene Callback-Funktion bereitstellen lassen.

+0

nach dem Entfernen JSONP: false ein Rückruf jquery automatisch in URL hinzugefügt wird, und dies wird gibt auch eine grosse Ausgabe https://www.linkedin.com/countserv/count/share?callback=jQuery18309318389435756811_795762&url=http%3A%2F % 2Fwww.propros.com% 2Fquiz-school% 2Fbrowse% 2F & success = undefined & _ =796208 –

+0

Warum ist das ein Problem? So soll JSONP funktionieren. – Barmar

+0

Haben Sie auch 'format:" jsonp "'? Die URL sollte '& format = jsonp' enthalten, aber das fehlt jetzt. – Barmar

0

LinkedIn hat kürzlich seine API geändert. Der Callback-Parameter akzeptiert aus irgendeinem Grund keine Unterstriche oder Zahlen mehr. Wenn Sie Callback zu etwas wie "Callback = jQueryABC" ändern, wird es funktionieren.