Сообщение об ошибке в консоли при попытке загрузки в базу данных [закрыто] ⇐ Php
-
Anonymous
Сообщение об ошибке в консоли при попытке загрузки в базу данных [закрыто]
Как и в названии. Что означает сообщение об ошибке: "строгое происхождение при перекрестном происхождении" в смысле в консоли? Когда я пытаюсь использовать подготовленный оператор для загрузки в базу данных.
ОТРЕДАКТИРОВАНО для большей ясности:
У меня есть код JavaScript, который сортирует переменные, а затем отправляет их через AJAX в файл php:
функция postIt() { $.ajax({ тип: "ПОСТ", URL: '../mail/testSum.php', данные: {wrongArray: JSON.stringify(wstore), Realname:myName, rightAnswers:correct, процентная оценка:процент, спросил:numq, доставить:назначение, testName:test}, кеш: ложь, успех: функция(){ //оповещение("ОК"); } }); } Файл PHP получает переменные POSTed и пытается загрузить их в базу данных:
$data1=$_POST["настоящее имя"]; $data2=$_POST["rightAnswers"]; $data3=$_POST["спросил"]; $data6=$_POST["percentageScore"]; $data7=$usermail; $data8=$_POST["testName"]; $myWrongArray=json_decode($_POST['wrongArray'], true); $мойКласс = ""; $группа = "ЭСС"; $code = "Тест JS" $stmt = $con->prepare("ВСТАВИТЬ В записи (имя пользователя, мой класс, numq, процент, отправлено, groupFour, тема, testCode, qasked) ЗНАЧЕНИЯ (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param("ssiisssss", $data1, $myClass, $data3, $data6, $datetime, $group, $data8, $code, $myWrongArray); $stmt->выполнить(); Столбцы базы данных соответствуют столбцам в таблице записей. Тот же подготовленный оператор работает правильно при использовании непосредственно из файла php. Но как только JavaScript отправляет переменные через AJAX, он возвращает в консоли код 500 с сообщением CORS.
Я попытался разместить файл .htaccess в соответствующей папке сервера с предложенными заголовками, но загрузка по-прежнему не удалась.
Заголовок всегда устанавливает Access-Control-Allow-Origin "*" В заголовке всегда устанавливаются методы Access-Control-Allow-Methods «POST, GET». В заголовке всегда указывается Access-Control-Max-Age «1000». В заголовке всегда устанавливаются заголовки Access-Control-Allow-Headers "x-requested-with, Content-Type, origin,authorization, Accept, client-security-token" Я знаю, что все переменные правильно поступают в файл php, потому что они правильно отправляются по электронной почте из файла php. Я также проверил сценарий подключения к базе данных, который также правильно подключается к базе данных.
Есть идеи?
Как и в названии. Что означает сообщение об ошибке: "строгое происхождение при перекрестном происхождении" в смысле в консоли? Когда я пытаюсь использовать подготовленный оператор для загрузки в базу данных.
ОТРЕДАКТИРОВАНО для большей ясности:
У меня есть код JavaScript, который сортирует переменные, а затем отправляет их через AJAX в файл php:
функция postIt() { $.ajax({ тип: "ПОСТ", URL: '../mail/testSum.php', данные: {wrongArray: JSON.stringify(wstore), Realname:myName, rightAnswers:correct, процентная оценка:процент, спросил:numq, доставить:назначение, testName:test}, кеш: ложь, успех: функция(){ //оповещение("ОК"); } }); } Файл PHP получает переменные POSTed и пытается загрузить их в базу данных:
$data1=$_POST["настоящее имя"]; $data2=$_POST["rightAnswers"]; $data3=$_POST["спросил"]; $data6=$_POST["percentageScore"]; $data7=$usermail; $data8=$_POST["testName"]; $myWrongArray=json_decode($_POST['wrongArray'], true); $мойКласс = ""; $группа = "ЭСС"; $code = "Тест JS" $stmt = $con->prepare("ВСТАВИТЬ В записи (имя пользователя, мой класс, numq, процент, отправлено, groupFour, тема, testCode, qasked) ЗНАЧЕНИЯ (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param("ssiisssss", $data1, $myClass, $data3, $data6, $datetime, $group, $data8, $code, $myWrongArray); $stmt->выполнить(); Столбцы базы данных соответствуют столбцам в таблице записей. Тот же подготовленный оператор работает правильно при использовании непосредственно из файла php. Но как только JavaScript отправляет переменные через AJAX, он возвращает в консоли код 500 с сообщением CORS.
Я попытался разместить файл .htaccess в соответствующей папке сервера с предложенными заголовками, но загрузка по-прежнему не удалась.
Заголовок всегда устанавливает Access-Control-Allow-Origin "*" В заголовке всегда устанавливаются методы Access-Control-Allow-Methods «POST, GET». В заголовке всегда указывается Access-Control-Max-Age «1000». В заголовке всегда устанавливаются заголовки Access-Control-Allow-Headers "x-requested-with, Content-Type, origin,authorization, Accept, client-security-token" Я знаю, что все переменные правильно поступают в файл php, потому что они правильно отправляются по электронной почте из файла php. Я также проверил сценарий подключения к базе данных, который также правильно подключается к базе данных.
Есть идеи?