2016-10-13 2 views
-1

Bei einem Code Reagieren:Uncaught Syntaxerror: eingebettet: unerwartetes Token

<script type="text/babel"> 
       var Var = React.createClass({ 
       render: function() { 
        return (
        var args = { 
         "q": "data", 
         "offset": "0" 
        }; 

        $.ajax({ 
        ....headers and other stuff).done(function(JSONdata) { 
        console.log(JSONdata); 

       }).fail(function() { 
        alert("You have an error"); 
       }); 
      ); 
      } 
      }); 
      ReactDOM.render(<Var />, document.getElementById('div')); 

Im immer Fehler Uncaught SyntaxError: embedded: Unexpected token, die die Linien zeigt:

  render: function() { 
       return (
       var args = { 
        "q": "data", 
        "offset": "0" 
       }; 

Ich denke, es mit den geschweiften Klammern zu tun hat Aber was ist der richtige Weg, sie in das React-Modul zu schreiben? Oder was ist der eigentliche Fehler hier?

Ich habe Babel und reagieren src bereits in meiner HTML-Datei enthalten. Ich brauche alle Schlüsselwerte in args, um eine Anfrage von Ajax zu senden.

+0

sein wird, wie es dir Rückkehr macht keinen Sinn. JSX oder Elemente sollen in der Rückkehr sein, oder verwenden Sie Klammern anstelle von Klammern und nicht in der 'render' -Funktion, mit' args: {...} ' – Li357

+0

Ich denke, die Rückkehr (' ist eine Zeile falsch gegangen machen keinen Sinn davon kann. ich nicht zusammen mit den folgenden Zeilen. – ASDFGerte

+0

@ASDFGerte es ist Babel – Li357

Antwort

0

Lösung dafür ist, wickeln Sie einfach Ihre Rückkehr, die es nur automatisch ausgeführt werden in eine Funktion

return (function(){ 
    var args = { 
     "q": "data", 
     "offset": "0" 
    }; 

    $.ajax({ 
    ....headers and other stuff).done(function(JSONdata) { 
    console.log(JSONdata); 

    }).fail(function() { 
     alert("You have an error"); 
    }); 
}); 

so Ihr Code wie dieser

var Var = React.createClass({ 
    render: function() { 
     return (function(){ 
      var args = { 
       "q": "data", 
       "offset": "0" 
      }; 

      $.ajax({ 
      ....headers and other stuff).done(function(JSONdata) { 
      console.log(JSONdata); 

      }).fail(function() { 
       alert("You have an error"); 
      }); 
     })(); 
    } 
}); 
ReactDOM.render(<Var />, document.getElementById('div')); 
Verwandte Themen