Frage

Ich ändere einen Beitrag zu einem Beitrag. Derzeit habe ich .jsp? Id = a, b, c, d. Beim Ändern dieses Beitrags sitze ich immer noch den ID -Parameter A, B, C, d. Das funktioniert nicht für mich. Kann ich eine von Kommas getrennte Liste an einen Postparameter einreichen?

War es hilfreich?

Lösung

Bin ich falsch oder die meisten Antworten sind nebenher?

Um Ihre Frage genau zu beantworten, können Sie eine von Kommas getrennte Liste an einen Postparameter einreichen. Um ehrlich zu sein, ich habe es gerade mit einem PHP -Skript schnell aus versucht, aber ich verstehe nicht, warum sich Java anders verhalten würde. Ein Punkt mit Postanfragen ist genau, dass Sie viel weniger Einschränkungen für die Syntax haben (keine Notwendigkeit zu entkommen = & oder so).

Wenn Sie also mehr Details erklären, was "nicht funktioniert", können wir Ihnen vielleicht mehr helfen.

Andere Tipps

Sie können es wie ein Auswahlformulareingabe tun:

url? param = value1¶m = value2¶m = value3

Abhängig von Ihrer Sprache und Bibliothek sollten Sie in der Lage sein, eine Reihe von Werten für Param zu erhalten.


Zum Beispiel mache ich dies mit ASP.NET MVC, um eine Reihe von Zeichenfolgen zu erhalten:

string[] values = Request.Form.GetValues("param");

Fionn hat recht. Verwenden

url?param=value1&param=value2&param=value3

So setzen Sie mehrere Werte auf einen einzelnen Parameter. Um die Werte in Ihrem Servlet/JSP zu lesen, können Sie verwenden

String[] values = request.getParameterValues("param");

Setzen Sie, damit Ihr Parameter mehrere Werte liefert, indem Sie ihn als Array benennen. Nennen Sie es "ID [], anstatt die Eingabe -ID "aufzurufen".

<form method="post">
<select multiple name="id[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit" value="send">
</form>

Denken Sie bei der Verarbeitung daran, das von dem benannte Parameter gesendete Werte zu extrahieren.

Sie können mehr als einen Parameter übergeben, indem Sie verwenden

        xmlhttp
                .send("files=" + files.value + "&tagcount="
                        + tagcount.value);

Hier Dateien und Tagcount sind die ID der Parrmeters, die übergeben werden sollen. Dies arbeitete für mein Ajax -Skript. In normalen Fällen können Sie die Parameter einfach hinzufügen &. Die Parameter können also aussehen wie

"parameter1=" + parameter1.value + "&parameter2=" + parameter2.value

In der Postanforderung sollte der Parameter von mindestens 1 in der Parameterliste vorhanden sein. Wenn Sie einen Parameter anhängen, um anzufordern, funktioniert dies nicht. Dafür müssen Sie den Parameter als verstecktes Formfeld senden. Oder versuchen Sie den folgenden Code zu verwenden

Funktion makepostrequest (URL, Parameter) {

  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        // set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }

  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);

}

Get and Post haben zwei verschiedene Zwecke. Aus dem Wikipedia HTTP -Eintrag:

ERHALTEN

Fordert eine Darstellung der angegebenen Ressource an. Beachten Sie, dass GET nicht für Operationen verwendet werden sollte, die Nebenwirkungen verursachen, z. B. die Verwendung von Aktionen in Webanwendungen. Ein Grund dafür ist, dass das Get von Robotern oder Crawlern willkürlich verwendet werden kann, was nicht die Nebenwirkungen berücksichtigen sollte, die eine Anfrage verursachen sollte. Siehe sichere Methoden unten.

POST

Gibt die zu verarbeitenden Daten (z. B. aus einem HTML -Formular) in die identifizierte Ressource ein. Die Daten sind im Körper der Anfrage enthalten. Dies kann zur Erstellung einer neuen Ressource oder der Aktualisierungen vorhandener Ressourcen oder beides führen.

Grundsätzlich sollten Sie die Informationen erhalten, die Informationen erhalten und für Aktionen veröffentlichen, die den Status des Servers ändern, z. B. neue Datensätze.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top