Я пытаюсь отправить данные с помощью AJAX и вставить их в таблицу базы данных. Проблема в том, что половина данных отсутствует, и я не знаю почему. Я проверил все имена параметров и т. Д., Потому что казалось, что у меня была опечатка где-то (у меня были некоторые символы, но я исправил это), но все равно это не сработает. Даже console.log() и предупреждения дают мне полные данные, которые я хочу публиковать, но он никогда не прибывает, php выводит пустые параметры. При деактивации JavaScript или удалении «return false»; скрипт php открывается, как ожидалось, и работает отлично, данные не теряются (как и ожидалось).jQuery Опубликованные данные AJAX теряются
Возможно, мне просто не хватает одного символа где-то ... Я также попытался экранировать (escape()) строки, но ничего не изменил.
Вот код и некоторые журналы/оповещения/вторит
$("#itemspeichern").click(function(){
setVisible("#item-process");
var itemname = escape($("#itemname").val());
if ($("#itemneu").is(":checked")) {
var itemneu = $("#itemneu").val();
} else {
var itemneu = 0;
}
var itembild = escape($("#itembild").val());
var itemkurzb = escape($("#itemkurzb").val());
var theset = escape($("#theset").val());
console.log("itemname=" + itemname + "&itemneu=" + itemneu + "&itembild=" + itembild + "&itemkurzb=" + itemkurzb + "&theset=" + theset);
$.ajax({
url: "<?php actualPath(); ?>save-admin-action.php",
type: "POST",
data: "itemname=" + itemname + "&itemneu=" + itemneu + "&itembild" + itembild + "&itemkurzb" + itemkurzb + "&theset=" + theset,
success: function(result){
alert("itemname=" + itemname + "&itemneu=" + itemneu + "&itembild=" + itembild + "&itemkurzb=" + itemkurzb + "&theset=" + theset);
document.getElementById("item-process").innerHTML = result;
}
});
return false;
});
Что это делает: - выходные данные всех полей на консоли - показывает все данные в оповещении , но когда его выполняется с сохранением базы данных, отсутствуют значения itembild и itemkurzb. Получение запроса в ответ от файла php показало, что параметры действительно пусты для этих полей. Вот что я сделал в PHP (я укоротить его немного, не комментирую инъекцию SQL и вещи: P)
$ergebnis = mysql_query("INSERT INTO mk7_items(id, de, neu, kurzbeschreibung, bild) VALUES(DEFAULT, '".$_POST["itemname"]."', ".$_POST["itemneu"].", '".$_POST["itemkurzb"]."', '".$_POST["itembild"]."')");
последних два поля пусты, когда я получаю ответ и ничего не сохраняются в БД , Как я уже говорил, установка JS на OFF и запуск его на php работает отлично.
Любые идеи? Какие-то глупые ошибки, которые я там делал?
Хм, некоторые прерывания линии отсутствуют, извините за это. – user1021052