2017-10-04 2 views
0

Ich erstelle ein Abrechnungsformular, um Daten an einen jsonrpc-Endpunkt zu senden. Obwohl der Server den Statuscode 200 zurückgibt; Ich erhalte diese Antwort {Meldung: "Fehler Parse Ungültige JSON vom Server empfangen wurde.", Code: -32700, ..}Fehler -32700 beim Senden von Formulardaten an den jsponrpc-Endpunkt

$(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>

Ich sah irgendwo stringify zu verwenden und versucht dass auch über:

$("#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 
 
});

Aber ich immer noch, dass die gleichen Fehler res ponse. Was mache ich falsch? Neu bei der Verwendung von APIs, so dass mein Know-how jetzt zerstreut ist; schätzen würde, wenn kann auf eine Ressource hingewiesen werden, lernen url am besten für APIs ..

Dank

Antwort

0

Sie müssen die Nutzlast erfassen, die an den Server gesendet wird, um zu sehen, was verursacht die ungültige JSON-RPC Ausnahme.

Ihr könnte console.log(postData). Oder ich würde vorschlagen, Ihren Browser-Debugger oder fiddler.

Sobald Sie den JSON erfasst haben, der an den Server gesendet wird, können Sie es in einem JSON-jsonLint.com löschen und sehen, was Ihren Ärger verursacht.

Verwandte Themen