2016-03-29 23 views
0

üzerinden geçiriyorum Kullanmakta olduğumuz bir uygulama paketi için paylaşılan bir başlık yüklemeyi deniyorum. Şu anda bir HTML dosyasını çekebiliyorum ve hatta javascript'i çalıştırabiliyorum.

$("#header-container") 
    .load("http://component.balanceinnovations.dev/header.html header", function() { 
     $.getScript("http://component.balanceinnovations.dev/js/header.js");  
}); 

Bu harika çalışıyor ancak header.js parametresini iletmek istiyorum. Bu parametreyi başvuru nasıl yüzden header.js bu

$("#header-container") 
    .load("http://component.balanceinnovations.dev/header.html header", function() { 
     $.get("http://component.balanceinnovations.dev/js/header.js", { cityID: '4274356' }, undefined, 'script'); 
}); 

çalışılıyor? Eğer mümkünse.

+0

olamazlar gibi 'header.js' bir işlevi çağırmak' someFunc ('4274356') 'yükleme sona sonra? Bildiğim kadarıyla sorduğun şeyi yapamazsın çünkü javascript indirdikten sonra, senin şu anki belgenizin altında çalışır, ki bu da farklı bir sorgulamaya sahip. – Stryner

+0

$ .get (url, başarı) kullanarak sunucunuzdan bir JavaScript Dosyası'nı yüklemenizi istiyorsunuz. Komut dosyanızda bir parametre geçiremezsiniz. Yükleme başarılı olduysa, geri bildirim işlevini başarılı bir şekilde kullanabilir ve herhangi bir parametreyi zaten yüklenmiş olan header.js dosyasına iletebilirsiniz. –

+0

Evet, bu başarılı fonksiyon çalışır diyor, header.js bir IIFE olmak değil, sadece küresel değişkenleri korumak için çalışıyoruz gibi görünüyor –

cevap

-1

Bu mümkün görünüyor. jQuery's website'a göre $ .getScript işlevi "eşdeğer bir Ajax işlevidir ..." (aşağıdaki $ .ajax kodunu inceleyin). Verileri sunucuya iletmek için $.ajax işlevini kullanmanız gerekir. getScript page üzerinde $ .ajax örneğe Ajax page veri özelliğini ekleyerek, bu size bir yük talebinde $ .get (url, başarı) kullanarak ...

$.ajax({ 
    url: "http://component.balanceinnovations.dev/header.html", 
    data: { cityID: '4274356' }, 
    dataType: "script", 
    success: successFn 
}); 

function successFn(data) { 
    $("#header-container").html(data); 
} 
0

bu gibi görünmelidir JavaScript Dosyası sunucunuzdan. Komut dosyanızda bir parametre geçiremezsiniz.

Bunu nasıl yapabilirsiniz?

var cityID = 4274356; 
$("#headercontainer").load("http://component.balanceinnovations.dev/header.html header", function() { 
     $.getScript("http://component.balanceinnovations.dev/js/header.js", function(data) { 
     //once download was performed then here you can pass your parameters into header.js. 
     });  
}); 


Düzenleme: Eğer header.js yüklemeden önce küresel değişken tanımlamak ve aşağıdaki gibi işlevini değiştirebilir hayatını kullanılması durumunda
.

(function(cityID) { 
    // cityID == 4274356' 

})(cityID); 
+0

bu IIFE ile sarılmış header.js ile çalışacak mı? –

İlgili konular