Codeigniter(CI)’da POST işlemi sırasında alınan hatalardan biri olan Disallowed Key Characters hatası için çok farklı çözümler mevcut. Bunun için genelde application/core klasörüne MY_Input classı oluşturup _clean_key_string metodunun genişletmeniz isteniyor. Ancak CI en güvenlikli haliyle bizlere sunulduğu için bu kısma dokunmak pek de mantıklı bir hareket olmayacaktır. Bu hata ile eğer form post işlemi değil de AJAX ile post işlemi sırasında karşılaşıyorsanız, muhtemelen datanızı “a=b&c=d” şeklinde gönderiyor olmalısınız. &(ampersand) işareti izin verilen karakterler arasında olmadığından da başarılı bir POST işlemi gerçekleşmemekte. Bunun için datanızı, eğer jQuery/AJAX metodu ile gönderiyorsanız :
$.ajax({
url: site_url + "ajax/post",
data: ({'email': email, 'password': password}), //<--- Nesne şeklinde
type: "post",
success: function(response, textStatus, jqXHR){
$('#sign-up').html(response);
}
});
değil de jQuery/POST metodu ile gönderiyorsanız:
$.post(site_url + "ajax/post", {'email': email, 'password': password}, function(html){
$('#sign-up').html(html);
});
şeklinde nesne olarak yollarsanız sağlıklı bir şekilde POST işleminizin gerçekleştiğini göreceksiniz.
İyi çalışmalar..
Bir yanıt bırakın