2017-06-15 1 views
0

J'essaye d'envoyer le fichier JSON suivant à une méthode AJAX POST.AJAX Post Error - SyntaxError: Jeton inattendu R dans JSON à la position 5

Voir la méthode AJAX ci-dessous: -

$(document).on('submit', '#create-recipe-form', function(){ 
    // get form data 
    var form_data= { 
        "recipe_name":"ghjghjh", 
        "category_name":"Desert", 
        "category_id":"8", 
        "Apple":"Apple", 
        "Carrots":"Carrots", 
        "step1":"ghj", 
        "step2":"", 
        "step3":"", 
        "step4":"", 
        "prep":"6" 
         }; 

    // submit form data to api 
    $.ajax({ 
     url: "http://localhost:8082/recipe_app/api/recipes/create_recipe.php", 
     type : "POST", 
     //contentType : 'application/json', 
     contentType : 'json', 
     data : form_data, 
     success : function(result) { 

      createRecipeIngredientsForm(); 

      // recipe was created, go back to recipes list 
      //showRecipes(); 
     }, 
     error: function(xhr, resp, text) { 
      // show error to console 
      console.log(xhr, resp, text); 
     } 
    }); 

La méthode ci-dessus AJAX appelle en fait correctement le fichier .php et les données sont insérées dans la base de données. Mais il y a une erreur retournée et donc la section 'succès' ne s'exécute jamais. C'est tellement frustrant, quelqu'un peut-il faire la lumière?

SyntaxError: jeton inattendu R dans JSON en position 5 à parse() à ajaxConvert (http://localhost:8082/recipe_app/app/assets/js/jquery-3.2.1.js:8754:19) à fini (http://localhost:8082/recipe_app/app/assets/js/jquery-3.2.1.js:9222:15) à XMLHttpRequest. (http://localhost:8082/recipe_app/app/assets/js/jquery-3.2.1.js:9514:9)

+0

Pourquoi n'êtes-vous pas envoyer serialiseObjet? quel est le besoin de stringifier? – Satpal

+2

supprimer 'JSON.stringify()' de l'instruction ci-dessous 'var form_data = JSON.stringify ($ (this) .serializeObject());' –

Répondre

0

remplacer cette ligne de votre ajax

form_data=JSON.stringify($(this).serializeObject()); 

à

form_data=$(this).serializeObject(); 
+1

Salut "Merci pour votre aide, le problème est maintenant que la variable suivante dans mon fichier PHP est maintenant nul: - $ data = json_decode (file_get_contents ("php: // input")); – ED209