2017-10-04 3 views
0

Je crée un formulaire de facturation pour envoyer des données à un point de terminaison jsonrpc. Bien que le serveur renvoie le code d'état 200; je reçois cette réponse {message: "Erreur d'analyse non valide JSON a été reçu par le serveur.", code: -32700, ..}Erreur -32700 lors de l'envoi de données de formulaire à l'extrémité jsponrpc

$(document).on("submit", "#billing", function(event) 
 
{ 
 
    event.preventDefault();   
 
    $.ajax({ 
 
     url: $(this).attr("action"), 
 
     type: $(this).attr("method"), 
 
     dataType: "JSON", 
 
     data: {new FormData(this)}, 
 
     processData: false, 
 
     contentType: false, 
 
     success: function (data, status) 
 
     { 
 
      console.log('Submission was successful.'); 
 
      console.log(data); 
 
     }, 
 
     error: function (xhr, desc, err) 
 
     { 
 
      console.log('An error occurred.'); 
 
      console.log(data); 
 
     } 
 
    });   
 
});
<form name="billing" id="billing" action="https://XX.XX.XX.XX/ghe/api2/call/jsonrpc2" method="POST"> 
 
    First Name: <input type="text" id="firstname" name="firstname"/> <br/> 
 
    Surname: <input type="text" id="surname" name="surname" /> 
 
<br/> 
 
    Email : <input type="text" id="email" name="email"/> 
 
<br/> 
 
    <input type="submit" name="submit" value="submit"> 
 
</form>

j'ai vu quelque part d'utiliser stringify et essayé qui a également via:

$("#submit").click(function() 
 
{ 
 
\t $("#billing").submit(function(e) 
 
\t { 
 
\t \t var postData = $(this).stringify(); 
 
\t \t var formURL = $(this).attr("action"); 
 
\t \t $.ajax(
 
\t \t { 
 
\t \t \t url: $form.attr('action'), 
 
\t \t \t type: "POST", 
 
\t \t \t data : postData, 
 
\t \t \t success:function(data, textStatus, jqXHR) 
 
\t \t \t { 
 
\t \t \t \t console.log("success"); 
 

 
\t \t \t }, 
 
\t \t \t error: function(jqXHR, textStatus, errorThrown) 
 
\t \t \t { 
 
\t \t \t \t console.log("Failed"); 
 
\t \t \t } 
 
\t \t }); 
 
\t }); 
 
\t \t 
 
\t $("#billing").submit(); //SUBMIT FORM 
 
});

Mais je reçois toujours cette même résolution d'erreur réponse Qu'est-ce que je fais mal? Nouveauté dans l'utilisation des API, mon savoir-faire est maintenant dispersé; apprécierait si peut être dirigé vers une ressource d'apprentissage pour les API URL mieux ..

Merci

Répondre

0

Vous devez saisir la charge utile qui est envoyée au serveur pour voir ce qui est à l'origine l'exception JSON-Rpc non valide. Vous pouvez console.log(postData). Ou je suggérerais votre débogueur de navigateur ou fiddler. Une fois que vous avez capturé le json qui est envoyé au serveur, vous pouvez le déposer dans un JSON linter jsonLint.com et voir ce qui cause votre problème.