Я следовал только о каждом руководство и учебник, который я могу заложить мои руки, но я просто не могу видеть, что вызывает эту проблему:Ajax отправить GET вместо POST
Я использую следующий код:
function updaterow(){
$.ajax({
url: 'updaterowajax.php',
type:'POST',
data: 'ID=' + ID + '&SupStatus=' + SupStatus +'&$OrderOther=' + OrderOther,
success: function(result){
console.log(result);
}
});
}
Опубликовать содержимое формы на php-странице. Но по какой-то причине он, похоже, не посылает это как сообщение. И это особенно не отправляет его на правильную страницу.
То, что я в конечном итоге с это в адресной строке:
orderlist.php ID = 36 & SupStatus = 2 & OrderOther = Ska + Binda + Telia + Liteň + 18 + т% E5n. & Submit36 = Spara
Это имя файла, в котором находится мой AJAX-скрипт. Что мне кажется (что для меня важно), это то, что он отправляет GET на текущую страницу вместо POST на «updaterowajax» .php».
Я делаю что-то неправильно здесь? Вся информация в GET верна, но она не передается.
Что-то не так в коде или, возможно, на моем сервере? По умолчанию Apache, MySQL и у меня есть JQuery 1.7.1
Форма, которая должна быть размещена:
while ($row = mysql_fetch_array($query)) {
echo "<tr><form id='".$row['ID']."'>
<td class='idcell'><input type='text' name='ID' readonly='readonly' value='".$row['ID']."' /></td>
<td>".$row['ArtName']."</td>
<td>".$row['ArtNumber']."</td>
<td><a href='/singlepost.php?ID=".$row['ID']."' title='Skriv ut ".$row['CustName']."'>".$row['CustName']."</a></td>
<td>".$row['CustContact']."</td>
<td>
<select name='SupStatus'>
<option value='".$row['SupStatus']."'>".$row['SupRealStatus']."</option>
<option value='01'>Mottagen</option>
<option value='02'>Lagd i korg</option>
<option value='03'>Beställd</option>
<option value='04'>Ankommen</option>
<option value='05'>Slutförd</option>
<option value='06'>Nekad</option>
</select>
<td>".$row['SupRealName']."</td>
<td>".$row['Date']."</td>
<td><textarea name='OrderOther' cols='40' rows='3'>".$row['OrderOther']."</textarea><input type='submit' value='Spara' name='Submit".$row['ID']."' onClick='updaterow()' /></td></form></tr>";}
И updaterowajax.php
<?php
$ID = $_POST['ID'];
$OrderOther = $_POST['OrderOther'];
$SupStatus = $_POST['SupStatus'];
mysql_connect ("localhost", "root", "bilradio388") or die ('Kan inte ansluta till databasen för att: ' . mysql_error());
mysql_select_db ("bil_best");
mysql_query("UPDATE BestTable SET OrderOther = '$OrderOther' WHERE ID = '$ID'");
mysql_query("UPDATE BestTable SET SupStatus = '$SupStatus' WHERE ID = '$ID'");
echo "Dra på trissor"
?>
Подумайте, что это он!
EDIT: Как я уже упоминал в своем посте дальше, мне удалось заставить его работать некоторое время. Я использовал предложенный метод: onClick = 'return updaterow();' и он действительно работал. За три попытки. Затем я изменил код, и он перестал работать. Я вернулся к старому рабочему состоянию, но, увы, нет, он больше не работает: П.И. думал, что я пропустил «или» или, или что-то еще, но до сих пор я не нашел недостающую ссылку Я сообщу обратно, если найду его. Однако, как представляется, вышеприведенный метод работает.
EDIT 2: Ну, чтобы «работать нормально», чтобы работать (не так сложно благодаря вам), но firebug сообщает мне, что идентификатор не определен. Я нахожу это странным, так как я ничего не менял, когда он работал для ввода в базу данных. Но просто чтобы быть ясным: я что-то упустил? значение ID, правильно? Тем более, что кажется, что код не имеет проблем с его определением, когда он отправляется как GET.
Вы пытались использовать '$ .post()' вместо '$ .ajax'? –
К сожалению, код для updaterowajax.php не отображался. – wecsam
Ваш код уязвим для [SQL Injection] (http://stackoverflow.com/a/601524/212159) – Flukey