2015-06-24 3 views
0

Это часть кода JavaScript с использованием jQuery Datatables.Передать переменную в URL-адресе через Ajax

Я хочу передать переменную ident (она равна 2 в примере ниже) в URL с помощью Ajax, смотрите ниже:

ajax: "staff2.php?userid='+ ident +'" 

Это не проходит должным образом. Однако замена '+ ident +' на 2 работ.

Итак, что не так с этой линией?

var ident = '2'; 


var editor; // use a global for the submit and return data rendering in the examples 
$(document).ready(function() { 
    editor = new $.fn.dataTable.Editor({ 
     ajax: "staff2.php?userid='+ ident +'", 
     table: "#building", 
     "bProcessing": true, 
     "bServerSide": true, 
     fields: [ { 
       label: "", 
       name: "building" 
      } 
     ] 
    }); 
    // Activate an inline edit on click of a table cell 
$('#building').on('click', 'tbody td', function() { 
    editor.inline(this); 
}); 
    $('#building').DataTable({ 
     //dom: "Tfrtip", 
     "searching": false, 
     "bInfo" : false, 
     "bPaginate": false, 
     "bSort": false, 
     "bVisible": false, 
     ajax: "staff2.php?userid='+ ident +'", 
     columns: [ 
      { data: null, defaultContent: '', orderable: false }, 
      { data: "building" },   
     ], 
     order: [ 1, 'asc' ], 
     tableTools: { 
      sRowSelect: "os", 
      sRowSelector: 'td:first-child', 
      aButtons: [ 
       { sExtends: "editor_create", editor: editor }, 
       { sExtends: "editor_edit", editor: editor }, 
       { sExtends: "editor_remove", editor: editor } 
      ] 
     } 
    }); 
}); 

ответ

1

Вы ПОСТРОЕНИЯ URL неправильно.

Заменить:

ajax: "staff2.php?userid='+ ident +'", 

с

ajax: "staff2.php?userid=" + ident, 

Если ident содержит не только номера, вы также должны кодировать его с encodeURIComponent(), как encodeURIComponent(ident) правильно экранировать специальные символы.

+0

отлично - спасибо – Alex

1

У вас есть ошибка в конкатенации строк. Заменить строку:

ajax: "staff2.php?userid='+ ident +'", 

С этим:

ajax: "staff2.php?userid=" + ident, 
+0

Если 'ident' равно' 2', ваш код выдает URL 'staff2.php? Userid = '2'', что неверно. –

+0

Спасибо за то, что @Gyrocode. Соответственно скорректирован код. – NaijaProgrammer

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