У меня действительно странная проблема с AJAX. Это фрагмент файла с JS кода и метода пост, который посылает Params в PHP файл с помощью AJAX:Функция успеха Ajax не вызывается с требованием инструкции
var params = $('#add').serializeArray();
$.post('code/bg/adding_c.php', params, function(ret) {
//body of success function
}, 'json');
И это фрагмент кода PHP (adding_c.php):
<?php
\t require "functions.php";
\t
\t //irrelevant operations
\t
\t $return = array(
\t \t 'status' => $status,
\t \t 'msg' => $msg,
\t \t 'id' => $id
\t);
\t
\t echo json_encode($return);
?>
Все работает Whe n Я комментирую или удаляю строку с инструкцией require, но когда она активна, функция успеха не запускается.
- JS post метод отправляет правильные параметры.
- Php-файл получает его, выполняет правильные операции и возвращает правильные данные в js-скрипт (я вижу его в FireBug).
- Функция успеха не запускается.
Почему инструкция, не связанная с AJAX, вызывает эту проблему?
Редактировать.
functions.php:
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'dbname';
$conn = new mysqli($host, $user, $pass, $db);
function querySQL($query)
{
\t global $conn;
\t $result = $conn->query($query);
\t return $result;
}
function cleanSQL($conn, $string)
{
\t return htmlentities(fixSQL($conn, $string), ENT_COMPAT, 'UTF-8'); \t
}
function fixSQL($conn, $string)
{
\t if(get_magic_quotes_gpc())
\t \t $string = stripslashes($string);
\t
\t return $conn->real_escape_string($string); \t
}
function fPassword($pass)
{
\t $salt1 = 'salt1';
\t $salt2 = 'salt2'; \t
\t $token = hash('ripemd128', "$salt1$pass$salt2");
\t
\t return $token;
}
?>
Edit2.
Ошибок нет, и когда я вставляю функции из functions.php в index.php, все работает нормально. Я не знаю, что делать сейчас. Кажется, что слово здесь является проблемой. Я не могу добавить эти функции в каждый файл, в котором они мне нужны.
Какое содержимое у вас есть в 'functions.php'? –
Связь с базой данных и функциями, которые я использую во многих файлах. Я могу опубликовать его код, но когда я копирую его в add_c.php, все работает. –