Ich habe überall für Stunden gesucht und kann keine Lösung finden, die für mich arbeiten wird. Ich habe ein einfaches HTML-Formular, das 3 Formulareingaben erhält und die Daten an die @ POST-Methode eines Webdienstes senden muss. Nach der Erstellung zeigt der Web-Service die aktualisierte Liste an. Kann mir jemand sagen, was ich falsch mache?Senden von Formulardaten zu erholsamen Web-Service @ POST-Methode mit Jquery und Ajax
poll.html
<script>
function myFunction()
{
data = $(this).serialize();
$.ajax({
url: 'http://localhost:8080/places3/resourcesC/create',
method: 'POST',
dataType: 'text',
data: data,
success: function() { alert("Worked"); },
error: function(error) { alert("Error"); }
});
}
</script>
</head>
<body>
<form onsubmit="myFunction()">
<p>City: <input type="text" name="city" /> </p>
<p>POI1: <input type="text" name="poi1" /> </p>
<p>POI2: <input type="text" name="poi2" /> </p>
<input type="submit" value="Submit" />
</form>
@POST Methode des Web-Service
@POST
@Produces({MediaType.TEXT_PLAIN})
@Path("/create")
public Response create(@FormParam("city") String city,
@FormParam("poi1") String poi1,
@FormParam("poi2") String poi2) {
checkContext();
String msg = null;
// Require both properties to create.
if (city == null || poi1 == null || poi2 == null) {
msg = "Property 'city' or 'poi1' or 'poi2' is missing.\n";
return Response.status(Response.Status.BAD_REQUEST).
entity(msg).
type(MediaType.TEXT_PLAIN).
build();
}
// Otherwise, create the Place and add it to the collection.
int id = addPlace(city, poi1, poi2);
msg = "Place " + id + " created: (city = " + city + " poi1 = " + poi1 + " poi2 = " + poi2 + ").\n";
return Response.ok(msg, "text/plain").build();
}
Was passiert derzeit? Funktionieren die Erfolgs- oder Fehlerfunktionen? Irgendwelche Fehler in der Konsole? –
Es warnt "Fehler" – Jeff
Es sollte keinen Fehler melden. Es sollte das Formular senden, bevor die Ajax-Anforderung gelöst wird. – Quentin