2014-10-30 37 views
5

Benim mvc 4 web uygulamasında aşağıdaki hatayı alıyorum "Uncaught TypeError: undefined bir işlev değil jquery.unobtrusive-ajax.js: 115" Bu hat üzerinde Yakalanmamış TypeError: undefined bir işlev değil jquery.unobtrusive-ajax.js

aynı hatayı alıyorum

$("a[data-ajax=true]").live("click", function (evt) { 
    evt.preventDefault(); 
    asyncRequest(this, { 
     url: this.href, 
     type: "GET", 
     data: [] 
    }); 
}); 

Ben bulduk çok insan var ve mesajları okuyun. Hemen hemen hepsi, uzun zamandır denediğim jQuery ve diğer betiklerin yeniden sıralanmasını önermektedir, ancak hiçbir şey bu hatayı ortadan kaldırıyor gibi görünmemektedir.

Şu anda, başlık bölümünde aşağıdaki sırayla css ve komut dosyalarına sahibim. Herhangi biri herhangi bir sorun bulabilir mi? sayesinde

<link href="/Content/main/css/bootstrap.css" rel="stylesheet"/> 
<link href="/Content/UiDatePicker.css" rel="stylesheet"/> 
<link href="/Content/Site.css" rel="stylesheet"/> 

<script src="/Scripts/modernizr-2.5.3.js"></script> 
<script src="/Scripts/jquery-1.9.1.js"></script> 
<script src="/Scripts/jquery-ui.js"></script> 
<script src="/Scripts/bootstrap.js"></script> 
<script src="/Scripts/respond.js"></script> 
<script src="/Content/main/js/General.js"></script> 


<script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="/Scripts/jquery.validate.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.js"></script> 
+0

_jquery.unobtrusive-ajax.js_ içinde 115. sırada olanı kontrol ettiniz mi? Ve bir şey daha: '.live()' jQuery 1.7'de kullanımdan kaldırıldı ve jQuery 1.9'da kaldırıldı. Bunun yerine '.on()' kullanın. – Regent

+0

@Regent, 115 $ ("a [data-ajax = true]") numaralı çağrıdır. Live ("click", function (evt). En son jquery.unobtrusive-ajax.js dosyasını almaya çalışmam gerekir. Herhangi bir CDN – rumi

+1

Peki, ilginç ... Sadece .live() 'yi' .on() ile değiştirin (eğer dinamik elemanlar için ise, $ (document) .on ('click', 'a [data-] kullanın. ajax = true] ", function (evt) {' veya daha yeni bir sürümünü indir "_unobtrusive-ajax.js_ – Regent

cevap

3

.live() jQuery 1.7 kaldırıldı ve jQuery 1.9 uzaklaştırıldı. elemanları dinamik eklenirse,

$("a[data-ajax=true]").on("click", function (evt) { 

Veya: Bunun yerine .on() kullanabilirsiniz

$(document).on('click', "a[data-ajax=true]", function (evt) { 

Not: mütevazi-ajax.js tüm bu sorunları gidermek mümkün olsa da, bu Tüm bu sorunların düzeltilmesiyle daha yeni bir sürümü indirmek daha iyi olacaktır (eğer bu sürüm zaten varsa).

+0

Mine eski versiyona da sahipti, eski ajax paketini NuGet ile kaldırmak ve yenisini yüklemek zorunda kaldım. önbelleğe alınmış olabilir, dosyaları değiştirdikten sonra bile tarayıcıda önbelleğe alınmıştı. –

İlgili konular