/ / Parameter in POST-URL - Jquery, http, post

Parameter in POST-URL - Jquery, http, post

Nehmen wir an, Sie haben folgende URLs für POST,

url="http://www.example.com/processor?param1=val1&param=val2"
url2="http://www.example.com/processor"

Angenommen, Sie senden eine POST-Anfrage mit Jquery.

$.post(url,{},function(){});

Wie unterscheidet sich das von

$.post(url2,{"param1":"val1","param2":"val2"},function(){});

Kannst du auch etwas tun,

$.post(url1,{"param1":"val1","param2":"val2"},function(){});

Ist es eine gute Praxis, Parameter in der POST-URL zu verwenden (wie oben angegebene URL (nicht URL2))?

Antworten:

2 für die Antwort № 1

Der Unterschied besteht im Umgang mit den Variablen im Backend.

In URL1 werden die Parameter als GET-Variablen gesendet, und in URL2, kombiniert mit post (), werden die Parameter als POST-Variablen gesendet.

Ich benutze eine Kombination, damit Sie sie austauschbar verwenden können. Die allgemeine Regel ist, GET zum Senden von Daten vom Typ "Anweisungen" und POST zum Senden von "Benutzerdaten" zur Datenmanipulation zu verwenden. Zum Beispiel

url="http://www.example.com/look_for_product?product_type=monitors&supplier=dell"

Vergleichen mit

$.post("http://www.example.com/place_order;,{"product_type":"monitor","supplier":"dell"}.

Sie können auch eine Kombination verwenden

$.post("http://www.example.com/place_order?product_type=monitors&supplier=dell;,{"colour":"black","quantity":"3"}.

1 für die Antwort № 2

Es hängt davon ab, für welche Aufgabe die Seite erforderlich ist:

  • Wenn Sie ein Benutzerregistrierungsskript erstellen, sollten Sie die POST-Parameter verwenden, damit sie für den Benutzer nicht sichtbar sind. (weil sie normalerweise viele sind)
  • Wenn Sie ein Suchskript erstellen, sollten Sie die GET-Parameter verwenden, da Sie später möglicherweise einen Hot-Link direkt zu dieser Suche bereitstellen müssen.

Wenn ich Sie wäre, würde ich die verwenden jQuery.ajax() Es bietet eine anpassbare Benutzeroberfläche. Sie können es so verwenden:

$.ajax({
type: "POST",
url: "processor",
dataType: "json",
data: { param1: "val1", param2: "val2" }
}).success(function( receivedValue ) {
//some code
}).error(function() {
//some error handling
});

Wie andere hier gesagt haben, sehe ich keinen Grund, die Parameter GET und POST zu kombinieren. Dies wird die Dinge komplizierter machen.


1 für die Antwort № 3

Versuche es so:

$.ajax({
type: "POST",
url: "http://www.example.com/processor",
data: {
"param1": "val1",
"param2": "val2"
},
success: function(msg){
alert("wow" + msg);
}
})