2013-08-17 7 views
-3

Это моя страница index.html, где я пытаюсь реализовать простой AJAX при нажатии на тег привязки, текст будет передан на страницу PHP data.php, и на этой странице отобразится страница, на которую будет нажата кнопка. Да, код работает, но когда я впервые нажимаю на ссылку, ничего не отображается и со второго раза она работает. Где проблема на самом деле?AJAX работает только во втором клике

Это мой сценарий

<script> 
$(document).click(function(){ 
    $("a").click(function(){ 
     //when clicked our ajax will work 
     $.get('data.php',{'page':$(this).text()},function(data){ 
      $('#result').html(data); 
     }); 
    }); 
}); 
</script> 

И это мой PHP для AJAX

<?php  
$anchortext=$_GET['page']; 
if(isset($anchortext)) 
{ 
    echo 'this is a'.$anchortext; 
} 
?> 
+1

Использовать $ (document) .ready (function() { }); – smm

ответ

6

Вы неуместны $(document).click(..) для $(document).ready(....), так что только после того, как первый нажмите обработчик Клик зарегистрирован в a элемент

$(document).ready(function(){ 
    $("a").click(function(){ 
     //when clicked our ajax will work 
     $.get('data.php',{'page':$(this).text()},function(data){ 
      $('#result').html(data); 
     }); 
    }); 
}); 
+0

Потеря ума:/над кодирующим эффектом – TaraGurung

1

Использование $(document).ready вместо $(document).click.

+2

Это было, вероятно, опущено, так как оно очень кратковременное и, вероятно, было бы лучше как комментарий. Если вы напишете более длинные ответы, вы должны быть в порядке. Кстати, если вы обертываете текст в backticks, тогда вы получите 'inline code formatting', что лучше для кода. – halfer

+0

Спасибо @halfer У меня есть изменения моего кода, но до того, как я получил downvote. Спасибо за поддержку. – Chinmay235

Смежные вопросы