2014-11-08 3 views
1

Любой javascript, который я вставляю в представление, не стреляет. Фиктивный пример кодаMVC 5 javascript not firing

<a href="javascript:getView();" name="something" id="something">click me </a> 

<div id="AddAY"></div> 


<script type="text\javascript"> 
    function getView() 
    { 
       $('#AddAY').load('/schools/details/2'); 
    }; 


</script> 

Когда страница отображается результат является:

<a href="javascript:getView();" name="something" id="something">click me</a> 

<div id="AddAY"></div> 


<script type="text\javascript"> 
    function getView() 
    { 
       $('#AddAY').load('/schools/details/2'); 
    }; 


</script> 


    <script src="/Scripts/jquery-2.1.1.js"></script> 

    <script src="/Scripts/jquery-ui-1.11.1.js"></script> 

    <script src="/Scripts/bootstrap.js"></script> 
<script src="/Scripts/respond.js"></script> 

при нажатии на ссылку, он ничего не делает.

+0

должен исходный код JQuery быть объявлен до функции Это:.? $ („# AddAY“) .load ('/ school/details/2'); не имеет значения до этого (и другие файлы). –

+0

@ADASein No. 'getView' вызывается только при нажатии ссылки. – dfsq

+0

Это базовое веб-программирование: переместите библиотеки jquery вверх, чтобы браузер мог разбор функции. –

ответ

0

Все благодарности для полезных советов. Я возьму их на ум, чтобы написать лучший код. Но после двух дней борьбы он оказался глупым TYPO.

То, как я нашел, может быть полезным другим.

Я поместил код в другой проект, где javascript действительно уволен. Просто для того, чтобы исключить это (хотя я и не имел понятия, что), это был не какой-то вопрос конфигурации в моем проекте.

В другом проекте это произошло, что позволило мне поверить, что на самом деле это проблема конфигурации. :-(И отправил меня с неправильной дорожки.

Я закончил сравнение моего кода на двух экранах рядом, по строкам. Сравнение вывода (источник html-страницы) по строкам, но не найдено любая разница, пока в какой-то момент я не заметил, что один проект был более ярким, чем в другом. Это был важный намек. Могу ли я подумать: «Почему intellisense не подбирает?», и я пришел к выводу: . потому что IntelliSense не знает, что JavaScript»Потом я заметил, тупую опечатку А \, где он должен был быть/

<script type="text\javascript"> 
<script type="text/javascript"> 
+0

Вы можете полностью удалить «тип» и все равно работать. – beautifulcoder

+0

thx для наконечника – BrilBroeder

0

Вместо того, чтобы якорь тег HREF значение вашей функции (JavaScript: GetView();) заменить код с этим:

<a href="#" name="something" id="myFunction">click me </a> 
 

 
<div id="AddAY"></div> 
 

 

 
<script type="text\javascript"> 
 
    
 
    $('#myFunction').click(function(){ 
 

 
     $('#AddAY').load('/schools/details/2'); 
 
    
 
    }); 
 
    
 

 

 
</script>

jsfiddle demo