2016-03-31 7 views
0

Ich habe einen Fehler mit einigen Ajax und PHP.Übergeben von Daten von Ajax zu PHP, Syntaxfehler erhalten

In der Browser-Konsole erhalte ich folgende Meldung: Der folgende Fehler ist aufgetreten: parserehler SyntaxError: Unerwartetes Token <. Ich kann nicht herausfinden, woher das kommt und habe versucht, es so weit wie möglich zu debuggen.

In main.js:

$(document).ready(function(){ 
    $(".post").click(function(){ 
     var number = {event_number: this.id}; //This gets the ID of the element clicked 
     $.ajaxSetup ({ 
      cache:false 
     }); 
     request = $.ajax ({ 
      type: "GET", 
      url: "event_page.php", 
      data: number, 
      dataType: 'json' 
     }); 

     request.done(function(response){ 
      var resultsArray = response; 
      console.log(resultsArray); 
      $("#main").text(resultsArray); 
     }); 

     request.fail(function (jqXHR, textStatus, errorThrown){ 
      console.error("The following error occured: " + textStatus,  errorThrown); 
     }); 
    }); 
}); 

In event_page.php:

<?php 
    $data = json_decode(stripslashes($_GET['data']), true); 
    $event_number = $data['event_number']; 
    echo $event_number; 
?> 

EDIT

Hier ist die vollständige Fehlermeldung in der Konsole angezeigt:

The following error occured: parsererror SyntaxError: Unexpected token < 
at Object.parse (native) 
at n.parseJSON (http://localhost/js/jquery.min.js:4:16756) 
at Xb (http://localhost/js/jquery.min.js:4:19069) 
at y (http://localhost/js/jquery.min.js:4:22515) 
at XMLHttpRequest.c (http://localhost/js/jquery.min.js:4:26989) 

Ich möchte auch darauf hinweisen, dass main.js und event_page.php im selben Verzeichnis existieren.

Wie Sie hier sehen können, versuche ich nur, die ID des Elements an die PHP-Datei zu senden, und ich gebe es zurück, um zu bestätigen, dass es gesendet wurde. Allerdings bekomme ich den Fehler oben und ich bin mir nicht sicher, warum das passiert.

Danke für jede Hilfe.

+0

'print_r ($ data) "Bitte. Ich denke, es ist $ data [0] ['event_number'] – aldrin27

+0

versuchen Sie es mit 'data.response' in done change' var resultArray = Antwort; ' – guradio

+0

@ aldrin27 - Ich habe das versucht, und nichts ist passiert, ich bekomme immer noch den Fehler Botschaft. Etwas löst es aus, bevor auf die PHP-Datei zugegriffen wird? –

Antwort

0

Sie event_number an den Server senden Ajax

Sie können es wie dieses

$_GET['event_number']; 

zurück senden Antwort zu erhalten als JSON versuchen, dieses:

<?php 
    header('Content-Type: application/json'); 
    echo json_encode($_GET['event_number']); 
+0

Ich habe das versucht, aber ich bekomme immer noch genau die gleiche Fehlermeldung. –

+0

Wo ist dieser Code 'parseJSON'; – itzmukeshy7

+0

Ich habe keine Ahnung, ich benutze es nicht einmal in main.js, es heißt, es ist in der jQuery .js-Datei. –