Tekil Mesaj gösterimi
Alt 26 Ocak 2016, 13:38   #1
Çevrimdışı
ChuckyFun
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Web Services Caller Function (Javascript)




Merhaba,

Web servis kullandığım neredeyse bütün projelerde kullandığım bir javascript fonksiyonu, kullanımı oldukça kolaylaştıran bir yapıdır. Bir çoğunuzun işine yarayacağına eminim.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<script type="text/javascript">
    
/**
     *
     * parameters_object için tanımlı değişkenler
     *
     * custom_success_function: Servis başarıyla cevap döndürdüğünde çağırılacak varsayılan fonksiyonun dışında bir fonksiyon adı
     * custom_error_function: Servis başarıyla cevap döndürmediğinde çağırılacak varsayılan fonksiyonun dışında bir fonksiyon adı
     *
     * Kullanımı
     *
     * var parameters_object = { user_id: 1, receiver_user_id: 2, conversation_id: 3 };
     * call_web_service('get_messages', parameters_object, 'GET');
     *
     * param action: Web servisin adı
     * param parameters_object: Web service gönderilecek parametrelerin bulunduğu obje
     * param ajax_type: GET veya POST, default olarak GET
     * param base_url: Eğer default servisin yolundan farklı bir servise gönderecekseniz bu parametreyide gönderebilirsiniz.
     * returns {boolean}
     * 
     */
    
function call_web_service(action,parameters_object,ajax_type,base_url){

        
// Bazı kontroller için ajax çağırımının başladığını belirtiyoruz
        
ajax_running true;

        if(
action.length>1){
            
            
// Eğer web servis ismi varsa herşey yolunda demektir
            
        
}else{
            
            
ajax_running false;
            return 
false// Web servis ismi boş olduğu için fonksiyonu burada kesiyoruz
            
        
}

        var 
post_data=parameters_object;
        var 
parameters_object_length=Object.keys(parameters_object).length;

        if (
parameters_object_length>0){
            
            
// Eğer gönderilen obje boş değilse herşey yolunda demektir
            
        
}else{
            
            
ajax_running false;
            return 
false// Hiç bir veri gönderilmediği için fonksiyonu burada kesiyoruz
            
        
}

        
submitted_ajax_type="GET"// Varsayılan olarak GET ayarlandı, POST işlemini yalnızca şifre eposta veya kredi kartı gibi bilgileri gönderecekseniz kullanmanızı tavsiye ediyorum
        
        
if(ajax_type=="POST"){
            
submitted_ajax_type="POST";
        }

        if(
base_url.length>5){
            
            
// Eğer farklı bir servis yolu girilmişse başına çift slash ekliyoruz
            
base_url="//"+base_url;
            
        }else{
            
base_url=""// Girilmemişse boş bırakıyoruz
        
}

        
// jQuery ajax fonksiyonu yardımıyla web servisimizi çalıştırıyoruz
        
$.ajax({
            
typesubmitted_ajax_type,
            
urlbase_url+"/web_services/"+action+"/?",
            
cache:     false,
            
data:     post_data,
            
success: function(data) {

                
ajax_running=false;

                
// Servis başarıyla cevap verdiğinde otomatik olarak bu servise ait bir başarılı fonksiyonu çağırıyoruz
                // Örneğin servisin adı get_messages ise başarıyla cevap döndüğünde success_get_messages fonksiyonu çağırılıyor
                // Eğer başarıyla cevap döndüğünde çağırılmasını istediğiniz fonksiyon farklı ise bunu gönderilen parametreler arasına 'custom_success_function' adıyla eklemeniz gerekmektedir
                
if(typeof parameters_object.custom_success_function != 'undefined' && typeof window[parameters_object.custom_success_function] === 'function') {
                    
window[parameters_object.custom_success_function](data,parameters_object);
                } else if (
typeof window["success_"+action] === "function"){
                    
window["success_"+action](data,parameters_object);
                }
                else{
                    
// Fonksiyon bulunamadı ama her şey yolunda, cevap başarıyla döndü
                
}

            },
            
error: function(data){

                
ajax_running=false;

                
// Servis başarıyla cevap vermediğinde otomatik olarak bu servise ait bir hata fonksiyonu çağırıyoruz
                // Örneğin servisin adı get_messages ise başarıyla cevap dönmediğinde error_get_messages fonksiyonu çağırılıyor
                // Eğer başarıyla cevap dönmediğinde çağırılmasını istediğiniz fonksiyon farklı ise bunu gönderilen parametreler arasına 'custom_error_function' adıyla eklemeniz gerekmektedir
                
if(typeof parameters_object.custom_error_function != 'undefined' && typeof window[parameters_object.custom_error_function] === 'function') {
                    
window[parameters_object.custom_error_function](data,parameters_object);
                } else if(
typeof window["error_"+action] === "function"){
                    
window["error_"+action](data,parameters_object);
                }
                else{
                    
// Fonksiyon bulunamadı ve servis başarıyla cevap döndüremedi !
                
}

            }
        });
    }

    
/**
     *
     * Servis başarıyla cevap döndürdüğünde çağırılan varsayılan fonksiyon
     *
     * param data: Servisten dönen veriler
     * param parameters_object: Servise gönderdiğimiz veriler
     *
     */
    
function success_get_messages(dataparameters_object) {
        
console.log(data);
    }

    
/**
     *
     * Servis başarıyla cevap döndürmediğinde çağırılan varsayılan fonksiyon
     *
     * param data: Servisten dönen veriler
     * param parameters_object: Servise gönderdiğimiz veriler
     *
     */
    
function error_get_messages(dataparameters_object) {
        
console.log(data);
    }
</script> 

Alıntı değildir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet bizimmekan