У меня не было достаточной репутации для комментариев, и поэтому я добавляю новый ответ. Ответ Гасека вполне правильный. Только одно: если вы обновляете файл bash_profile или файл / etc / profile, эти изменения будут отображаться только после ввода нового входа. В случае, если вы установите переменную env, а затем хотите использовать ее в последующих задачах в одной и той же книжке. Подумайте о добавлении этих переменных среды в файл .bashrc. Я думаю, причина в том, что это логин и недействительные оболочки. При выполнении разных задач считываются параметры из файла .bashrc вместо bash_profile или /etc/profile.
. Например, если я обновил мою переменную пути, чтобы включить пользовательский двоичный файл в файле .bash_profile соответствующего пользователя, а затем сделал источник файла. Следующие последующие задачи не распознают мою команду. Однако, если вы обновляетесь в файле .bashrc, команда будет работать
- name: Adding the path in the bashrc files
lineinfile: dest=/root/.bashrc line='export PATH=$PATH:path-to-mysql/bin' insertafter='EOF' regexp='export PATH=\$PATH:path-to-mysql/bin' state=present
- - name: Source the bashrc file
shell: source /root/.bashrc
- name: Start the mysql client
shell: mysql -e "show databases";
. Это будет работать, , но если я сделал, используя файлы профилей. mysql -e «показать базы данных» дала бы ошибку.
- name: Adding the path in the Profile files
lineinfile: dest=/root/.bash_profile line='export PATH=$PATH:{{install_path}}/{{mysql_folder_name}}/bin' insertafter='EOF' regexp='export PATH=\$PATH:{{install_path}}/{{mysql_folder_name}}/bin' state=present
- name: Source the bash_profile file
shell: source /root/.bash_profile
- name: Start the mysql client
shell: mysql -e "show databases";
** Эта одна не работает **, если у нас есть все эти задачи в одной и той же playbook
У вас есть события onclick, привязанные к этой функции с именем MakeRequest
, а затем в этой функции вы снова привязываете li
s к событию клика.
Вам лучше использовать этот подход:
$(function(){
$("#page_num li").click(function() {
$.ajax({
url : 'display.php',
data:{id: $(this).attr('id')},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
}
});
и избавиться от встроенных событий onclick
.
переместите событие onclick в тег, чтобы:
<a href="#" onclick='MakeRequest();>
удалить функцию MakeRequest()
, просто попробуйте использовать $("#page_num li").click
, иначе она вызовет функцию дважды
$(document).ready(function(){
$("#page_num li").click(function() {
var id=(this.id);
$.ajax({
url : 'display.php',
data:{"id":id},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
});
});
});
В вашем коде есть функция, которая определяет действие onclick и не делает сам вызов. Бьюсь об заклад, если вы дважды щелкнете ссылку, в которой она будет работать, но вы должны сделать это следующим образом:
function MakeRequest(id)
{
$.ajax({
url : 'display.php',
data:{"id":id},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
});
}
Наконец, измените вызов на это:
onclick='MakeRequest(5);'
ИЛИ просто сделайте это, которое связывает элемент li с функцией щелчка и не требуется «onclick»:
$(document).ready(function()
{
$("#page_num li").click(function() {
var id=$(this).attr(id);
$.ajax({
url : 'display.php',
data:{"id":id},
success: function(data){
$('#ResponseDiv').html(data);
}
});
});
});