jQuery GET ve karışıklığı POST

4 Cevap php

Ben nasıl emin jquery çalışmalarını sessiz değilim. JQuery açısından GET ve POST hakkında birkaç şey bilmek istiyorum.

Benim app aşağıdaki kodu kullanabilirsiniz:

<script>
function example_ajax_request() {
  $('#example-placeholder').html('<p>Loading results ... <img src="ajax-loader.gif"  /></p>');
  $('#example-placeholder').load("ind.php?show=" + $('#box option:selected').val());
}
</script>

I am not using either GET or POST in this method. I am using a button to call the example_ajax_request to process the request and get the results.

Bazen bu gibi bir kod bakın:

$.ajax({
  url: 'loader.php',
  data: 'somedata',
  method: 'GET',
  success: function(data){
    $('#er').text(data);
  }
});

My doubt is, is it required or not that we use a method to post the data? (either GET or POST) while send and getting the data in PHP webapps? The code that I use first works fine even though I do not use any POST or GET methods.

Herhangi girdiler?

Teşekkürler.

4 Cevap

"Kılavuzunu okuyun" - http://api.jquery.com/load/

The POST method is used if data is provided as an object; otherwise, GET is assumed.

Eğer (normal durumda) bir tarayıcıdan bir sunucuya göndermek tüm veriler HTTP verbs (istek yöntemleri), hemen her zaman GET veya POST rağmen orada yoluyla olacaktır diğerleri. GET, bir web sayfasını ziyaret etmek istediğiniz zaman tarayıcılar sunuculara, örneğin göndermek budur. POST, çeşitli nedenlerle, sunuculara formları göndermek için kullanılan ne hemen hemen her zaman.

jQuery ajax yöntemleri GET kullanın veya POST yapmanız onlara ne bağlı olabilir. load actually decides for you based on the data you tell it to send with the request. jQuery's jQuery.ajax , jQuery.get , and jQuery.post işlevleri sizin ne yapmak istediğinizi özellikle diyelim.

.load() yaptığın şekilde kullanarak, GET aracılığıyla kaynak ister. URL (?param1=value1) Eğer "GET parametreleri" sağlayan parametreleri ekleyerek.

Bu:

$.ajax({
  url: 'loader.php',
  data: 'param1=value1',
  method: 'GET',
  success: function(data){
    $('#er').text(data);
  }
});

temel olarak aynıdır

$('#er').load('loader.php?param1=value');

İlk yöntemin avantajı sadece bir unsuru haline içeriği koyarak daha (success :function(){}) geri çağırma işlevi içinde çok daha fazla yapabileceği, diğerleri arasında, olduğunu. Sen daha fazla kontrole sahip. .ajax() okuyun.


GET ve POST GET yöntemi kullanılarak, parametreleri POST, parametreler, oysa URL'nin bir parçası olarak gönderilir olmasıdır arasındaki farklar isteğe gövdesine gönderilir. Bu yüzden, GET ile parametreleri sağlamak daha kolaydır. Diğer taraftan, çok URL'ler GET ile sınırlıdır parametreleri gönderme istenilen uzunlukta olamaz.

Eğer gerçekten sadece get veri istiyorsanız GET kullanılmalıdır. Parametreler çıkışı (eğer paginate zaman, örneğin bu kullanılan sonuç kümesidir) kontrol etmek için kullanılabilir.

Eğer sunucu tarafında change veri istiyorsanız POST, diğer yandan kullanılmalıdır.

request methods on Wikipedia hakkında daha fazlasını okuyun.

Her ikisi de. Load () ve. Ajax () varsayılan olarak GET isteği yok. Sonuç genellikle aynıdır, ama iyi bir geliştirici olmak için, her biri için farklılıkları ve felsefesini anlamak gerekir. Get geçti bilgi açısından en isimli daha şeffaf kullanımı daha kolay gibi görünüyor. Görünür parametrelerini geçmek. POST daha büyük ve daha karmaşık bilgi geçirilmesini sağlar.

Vokabularisi, titiz GET bilgi almalısınız ve POST bunu POST gerektiğini söylüyorlar.

Tavsiye: istekleri böylece içerik yenileme yapmak için zaman damgası ile ekstra param eklemek tarayıcısı tarafından önbelleğe alınabilir vardır GET.

Bir reccomandation olarak ben ajax gibi POST ile ajax () kullanmak istiyorsunuz tüm Hataların ele verir karmaşık bir istektir.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html