2012-10-01 13 views
7

Aynı anda jquery ajax isteği ile GET ve POST parametrelerini nasıl gönderilir?Jquery, ajax isteğinde aynı anda GET ve POST parametrelerinin gönderilmesi

do=ajax&id=" + ID'u 'a eklemeye çalışıyorum, ancak sonuç isteği sorgu dizesi olmadan yalnızca sss.php'a zımparalanmış olarak (parçaya git). Teşekkürler.

$.ajax({ 
    url: "sss.php?do=ajax&id=" + ID , 
    type: "post", 
    data: "ddd=sss", 
    // callback handler that will be called on success 
    success: function(response, textStatus, jqXHR){ 
     // log a message to the console 
     console.log("Hooray, it worked!"); 
    }, 
    // callback handler that will be called on error 
    error: function(jqXHR, textStatus, errorThrown){ 
     // log the error to the console 
     console.log(
      "The following error occured: "+ 
      textStatus, errorThrown 
     ); 
    } 
}); 
+0

'$ .post' yerine' $ .ajax' yerine – defuz

+1

@defuz kullanmayı deneyin: He/o *, 'post' kullanarak tüm amaç ve amaçlar için kullanılır. ['post'] (http://api.jquery.com/jQuery.post/),' 'post '' istekleri için bir kolaylık sağlayan bir wrap. –

+0

Benim için çözümün çalışıyor. Senin için de çalışmalı. Sunucuya hangi isteklerin gönderildiğini görmek için Chrome Ağ Konsolunuza gidin ve kontrol edin. –

cevap

9

Gözlemsel bir hata alıyorsunuz veya jQuery sorunu yerine sunucu tarafı görüyorsunuz. Bir yayını like this yaptığınızda:

$.ajax({ 
    url: "http://jsbin.com/eduzif/1?foo=bar", 
    type: "post", 
    data: "baz=doh", 
    success: function() { 
    display("Done, look at your console's network tab"); 
    } 
}); 

... sorgu dizesi ve POST verileri hem sunucuya gönderilir. Chrome veya Firefox gibi modern bir tarayıcı kullanıyorsanız ve postayı tetikledikten sonra konsolun Ağ sekmesinde gözükürseniz bunu kontrol etmek kolaydır. Benim durumumda:; JSBin POST izin vermez, ama bu sunucuya gidiş istek gördüklerinizi etkilemez

Image showing post with both query string and form data

(Sunucu yukarıdaki 403 ile cevap verdi göz ardı edebilirsiniz.

Buradaki yanıt şudur: Veri sunucusu tarafını nasıl aldığınızı iki kez kontrol edin. URL'deki parametreler ("GET" stil parametreleri) sorgu dizesi parametreleri olarak kullanılabilir (URL'nin bir kısmı); "POST" stil parametreleri "form" verileri (örneğin, yanıt gövdesi) olarak mevcuttur. Kullandığınız sunucu tarafındaki teknolojiye bağlı olarak, genellikle GET (sorgu dizesi) parametrelerini POST (form verisi/gövde) parametrelerine karşı almak için farklı yollar vardır.

+0

teşekkürler, yeniden kontrol, kopyalayın ve geçmiş kodu ve şimdi işe yaramazsa cevabı gönderin. Benim kodun ilk sürümünde neyin yanlış olduğunu bilmiyor :(teşekkürler – abrahab

+0

+1, Anladım, her gün SO 'bana bir şey öğretir. –