Здравствуйте, уважаемые программисты!
Делаю свои первые шаги в изучении php и в работе с базами данных.
Данные в базу отправляю так:
на странице (назовем скрипт №1):
data_surv["age"] = encodeURIComponent("Мужской");
data_surv["sex"] = encodeURIComponent("20-30 лет");
jQuery.ajax({
type: "POST",
url: "response.php",
dataType:"text",
data:data_surv,
success:function(response){
$("html, body, .main").css("cursor", "default");
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError); //выводим ошибку
}
});
в response.php (№2):
<?php
//подключаем бд
include_once("config.php");
$age = filter_var($_POST["age"],FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
$sex = filter_var($_POST["sex"],FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
if( mysql_query("INSERT INTO test_table(age, sex) VALUES('".$age."','".$sex."')") ){
$my_id = mysql_insert_id();
mysql_close($connecDB);
}else{
header('HTTP/1.1 500 could not insert record!');
exit();
}
?>
Получаю данные так:
на странице (№3):
$.ajax({
type: "POST",
url: "pivot_data.php",
dataType: "json",
success: function(data) {
console.log(data);
},
error: function(error){
console.log(JSON.stringify(error));
}
})
в pivot_data.php (№4):
<?php
//Наша БД
include_once("config.php");
$i=0;
$data = mysql_query("SELECT * FROM test_table");
if (!$data) {
//$result['error'] = 'Ошибка запроса: ' . mysql_error();
//echo json_encode($result);
exit;
}
while($row = mysql_fetch_array($data)){
$sex[$row["sex"]]++;
$age[$row["age"]]++;
$i++;
}
mysql_close($connecDB);
$result['records'] = $i;
$result['chart1'] = $sex;
$result['chart2'] = $age;
echo json_encode($result);
?>
Скрипт №3 возвращает ошибку:
{
"readyState":4,
"responseText":"{\"records\":4,\"chart1\":{\"%D0%96%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B9\":2,\"%D0%9C%D1%83%D0%B6%D1%81%D0%BA%D0%BE%D0%B9\":2},\"chart2\":{\"25-34\":2,\"15-24\":1,\"45-54\":1},}",
"status":200,
"statusText":"OK"
}
Если в скрипте №3 поменять dataType на text, то все нормально возвращается.
Я думала, раз текстов выводится, то можно тогда вернуть JSON.parse(data). Но так тоже ошибка появляется:
Uncaught SyntaxError: Unexpected token in JSON at position 0
Подскажите пожалуйста, в чем может быть ошибка?