Это эхо "пустой" .. пожалуйста, помогите, я не могу найти проблему! Оба они называются AJAX. Первый код создает новый TR в таблицу. Я хотел бы отправить данные на другой php с помощью функции addnewTape(). Но массив POST пуст.форма не отправляет данные с почтовым методом
Новый ТР в таблицу (newtapeTR.php):
echo "<form id='tapeform".$_SESSION['newtape']."' method='POST' action=''>";
echo "<td> <input type='text' value='".$_SESSION['newtape']."' name='tapeid' readonly style='width: 25px;'></td>";
echo "<td> <input type='text' placeholder='citation' name='tapetext' style='width: 625px;'> </td>";
echo "<td id='tapeadd".$_SESSION['newtape']."' colspan='2'> <input type='button' onClick='addnewTape(".$_SESSION['newtape'].");' value='Add' class='button' ></td>";
echo "</form>";
форма подающий, с функцией AJAX (пример :) addnewTape (32) newtape.php:
if (empty($_POST))
{
echo "empty";
}
else
{
$tapeid = $_POST['tapeid']; //this should be 32
$tapetext = $_POST['tapetext']; //this should be some text
}
Ajax:
function addtapeTR(){
var xmlhttp;
var tapetableRef = document.getElementById('tapetitle');
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var newRow = tapetableRef.insertRow(-1);
var lastRowIndex = tapetableRef.rows.length-1;
var newID = lastRowIndex-1;
newID++;
newRow.id = "tape"+newID;
newRow.innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","menu-main/menu-setting-submenu/newtapeTR.php",true);
xmlhttp.send();
}
Этот Аякса называет newtape.php, и посылает идентификатор и текст:
function addnewTape(id) {
var id = id-1;
if (tapeid[id].value=="" || tapetext[id].value=="") {
alert('Empty field!');
} else {
$.ajax({
type: "POST",
url: "menu-main/menu-setting-submenu/newtape.php",
data: $("#tapeform"+(id+1)).serialize(),
success: function(data){
$("#tape"+(id+1)).html(data);
}
});
}
}
ОТВЕТ: Что-то пошло не так с данными здесь:
data: $("#tapeform"+(id+1)).serialize(),
Я сделал это без JQuery, и GET. Теперь это работает. Какие-нибудь советы, что пошло не так в этой строке?
Можете ли вы показать нам свой AJAX? – casraf
Я бы проверил '$ _GET', если ajax отправляет запрос GET. – Jim
извините, это немного длиннее. Джим, $ _GET также пуст. – ppeter