2015-11-06 4 views
0

В настоящее время я сохранил переменные в массиве Javascript. Цель здесь состоит в том, чтобы превратить их в переменные PHP, чтобы я мог использовать эти переменные и вставлять их в свою базу данных.Передача массивов js переменной на php

Проблема с этим кодом заключается в том, что часть AJAX не работает. Пожалуйста, помогите мне в правильном направлении, поскольку я чрезвычайно новичок в AJAX. Я пытался читать о них, но все равно не понимаю. Выполнение этого без обновления страницы не требуется. Приветствуются методы, отличные от AJAX.

Вот мой текущий код:

<button onclick="Bookings()">Book</button> 
<script> 
    function Bookings() { 
     var t2Cells = document.getElementsByClassName("t2"); 
     for (var i = 0; i < t2Cells.length; i++) { 
      var t2CellsIndex [i] = t2Cells[i].cellIndex 
      var t2CellsRow [i] = t2Cells[i].parentNode.rowIndex 
      //alert('Coordinates are: '+t2Cells [i].cellIndex+'x'+t2Cells [i].parentNode.rowIndex); 
      var tbl = document.getElementById("tblMain"); 
      //alert (tbl.rows[0].cells[t2CellsIndex].innerHTML); 
      var studioSelected = tbl.rows[0].cells[t2CellsIndex].innerHTML 
      var Timeselected = tbl.rows[t2CellsRow].cells[0].innerHTML 

      $.ajax({ 
       type: "POST", 
       url: 'bookingconfirm.php', 
       data: "studioSelected=" + studioSelect, 
       success: function(data) { 
        alert("success!"); 
       } 
      }); 
     } 
    } 
</script> 

<?php 
    //bookingconfirmed.php 
    if (isset($_POST['studioSelect'])) { 
     $uid = $_POST['studioSelect']; 
     //steps to insert into database. 
+0

Ну, что Безразлично» т работы? Вы получаете какие-либо ошибки? это данные, которые не отправляются в файл ajax? – Naruto

+2

Итак, я правильно понял? Вы устанавливаете пару ключ-значение данных 'studioSelected', но проверяете, установлен ли' t2CellsIndex'? –

+1

Что возвращает 'print_r ($ _ POST)' в целевой файл ajax 'bookingconfirm.php'? – Thaillie

ответ

1

Во-первых, вы должны двигаться АЯКС вызов вне Еогеасп

var usefulData = []; 
var t2Cells = document.getElementsByClassName("t2"); 
for (var i = 0; i < t2Cells.length; i++) { 
    var t2CellsIndex [i] = t2Cells[i].cellIndex 
    var t2CellsRow [i] = t2Cells[i].parentNode.rowIndex 
    //alert('Coordinates are: '+t2Cells [i].cellIndex+'x'+t2Cells [i].parentNode.rowIndex); 
    var tbl = document.getElementById("tblMain"); 
    //alert (tbl.rows[0].cells[t2CellsIndex].innerHTML); 
    var studioSelected = tbl.rows[0].cells[t2CellsIndex].innerHTML 

    // add data to array 
    usefulData.push(studioSelected); 

    var Timeselected = tbl.rows[t2CellsRow].cells[0].innerHTML 
} 

     $.ajax({ 
      type: "POST", 
      url: 'bookingconfirm.php', 
      data: {'usefuldata': usefulData}, 
      success: function(data) { 
       alert("success!"); 
      } 
     }); 

Затем в файле PHP:

if (isset($_POST['usefuldata'])) { 
    var_dump($_POST['usefuldata']); 
} 
+0

Коды останавливаются до 'usefulData.push (studioSelected);'. Любая идея почему? – Lchai

+0

любые ошибки в консоли? можете ли вы создать jsFiddle с вашим примером? –

+0

Я не разбираюсь в использовании консоли на jsFiddle. Вместо этого я продублировал свои коды в jsfiddle для лучшего понимания. Функция 'success: function (data) {alert (« success! »);' Не запускается. https://jsfiddle.net/rn7uqhtw/4/ – Lchai

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