Quick Hintergrund: Sehr neu für Web-Entwicklung. Ich habe eine Bootstrap-Seite mit einem Formular, das Benutzer ausfüllen können. Es gibt vier Felder (zwei Textfelder, ein Radio, ein Dropdown). Die Idee war, ein JSON mit diesen Eingabedaten zu bilden und es an meinen HTTP-Server zu senden, aber es scheint nicht mehr zu funktionieren.jQuery HTTP-Post funktioniert nicht mehr, funktioniert nur, wenn lange Zeichenfolgen eingegeben werden
Sehr seltsam, mein Code funktionierte perfekt vor ein paar Stunden (habe mit requestb.in getestet). Jetzt sendet es plötzlich (1) nur den POST, wenn ich lange Werte für die Variablen apiname und apiurl habe, und (2) sehe nicht mehr, was ich aus den Radio-Checkboxen ausgewählt habe (env1 - env3) und stattdessen denkt immer, ich habe "Dev" gewählt, unabhängig davon, was tatsächlich ausgewählt wurde. ich meine Probleme unter der Annahme durch die jQuery in meinem Code und nicht die HTML verursacht, also habe ich das hier angebracht:
für die Hilfe<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> </script>
<script>
$(document).ready(function(){
$("button").click(function(){
var env1 = document.getElementById("seldevid");
var env2 = document.getElementById("selstageid");
var env3 = document.getElementById("selprodid");
var apiname = $("#apinameid").val();
var apiurl = $("#apiurlid").val();
var actionvar;
$("#actionid").change(function() {
actionvar = $(this).val();
}).change();
if (env1.checked = true) {
var env = "Dev";
} else if (env2.checked = true) {
var env = "Stage";
} else if (env3.checked = true) {
var env = "Prod";
}
$.post("http://requestb.in/107fmof1",
{
apiName: apiname,
apiURL: apiurl,
environment: env,
action: actionvar
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
Dank!
Hmm, das scheint das Radioknopf Problem gelöst zu haben, aber es immer noch nicht konsequent. Ich kann nicht einmal scheinen, irgendwelche Muster mit, wenn es tut und nicht POST, scheint völlig zufällig. Ich habe die Entwicklertools verwendet, und das zeigt, dass es fast immer einen POST gibt, aber die 'Parameter' sind fast immer leer (der HTTP-Server erhält also nichts). – user6656429
Eine Möglichkeit besteht darin, dass Sie das Formular senden, bevor der $ (Dokument) .ready (...) Code ausgeführt wird. Wenn Sie in diesem Fall keine Namen für die Formularfelder angeben, wird ein leerer POST angezeigt. – Andy
In dem Fall der leeren POST, sehen Sie die apiName, etc Felder, aber sie sind leer? oder sehen Sie keine POST-Daten? oder was? Hat Ihr