Herhangi bir bağlantı için Ajax isteği yapan bir işlev var. İstek yöntemi GET veya POST olabilir. Bu durumda, bir form kullanmadan bir POST yapmak istiyorum ancak Ajax isteği, isteği göndermeden önce bir hata atar. Hata "error" değerine sahiptir ve tüm hata/hata açıklama değişkenleri "" dir.JQuery Ajax POST, istekte bulunmadan boş bir hata atıyor
function loadPage(url,elem_id,method,data) {
ajaxLoading(elem_id);
$.ajax({
type: method,
url: url,
data: data,
success:function(data){
$("#"+elem_id).html(data);;
},
error:function(request,textStatus,error){
alert(error);
}
});
}
fonksiyon denir parametreler (js konsolundan kopyalanan) bunlar:
sorulan gibidata: "partial=yes"
elem_id: "page"
method: "post"
url: "/projects/2/follow"
, burada loadPage işlevini çağırır koddur.
$("body").on("click","a.ajax",function(event) {
var _elem = getDataElem($(this));
var _method = getRequestMethod($(this));
var _partial = getRequestPartial($(this));
handlers.do_request(event,$(this).attr("href"),_elem, _method, _partial);
});
var handlers = (function() {
var obj = {};
obj.do_request = function(event,url,elem_id,method,data) {
event.preventDefault();
loadPage(url,elem_id,method,data);
history.pushState({selector:elem_id,method:method,data:data},null,url);
};
}());
Ajax isteğinin başarısız olmasından sonra, istek varsayılan olarak yapılır ve başarılara yanıt verir. Tüm okudum, bu bir POST isteği (bir formu gerekmez) yapmak için geçerli bir yol gibi görünüyor.
İşlevde yanlış bir şeyler yapıyorum? Hata bilgileri neden boş?
Teşekkür
DÜZENLEME:
Ben değişkeni "veri" serialize fonksiyonu ile yapılır eserlerini işlev bir "form", bir POST için, düşünüyordum (örneğin "var data = $ (this) .serialize(); "). Bir "form" olmadan bir POST yaptığımda "veri" biçiminin bir şekilde yanlış olması olabilir mi? Belki JQuery Ajax işlevi, bir POST yapıldığında veri olarak "kısmi = evet" gibi basit bir dizeyi kabul etmez. Bu konuda bir fikrin var mı?
isteğiniz ve textstatus değişkenlerinin boş olduğunu söylüyorsunuz –
"Post" özelliği büyük harf olmalı mı? Dokümanlar içinde. –
'loadPage''ü nasıl çağırdığınızı gösteren kodu gönderebilir misiniz? – 1337holiday