Как сказано в названии, я получаю эту ошибку
jquery.min.js: 3049 POST HTTP: // локальный: 3000 / PHP / add_events.php 404 Не Найдено)
когда я пытаюсь получить доступ к файлу php с этим кодом на json-сервере:
$.ajax({
url: './php/add_events.php',
data: 'title='+ eventData.title+'&start='+ eventData.start +'&end='+ eventData.end +'&areHere='+eventData.areHere+'&finalConsult='+eventData.finalConsult ,
type: "POST",
success: function(json) {
alert("OK");
eventData.id = json
}
});
и когда я пытаюсь установить GET вместо POST, он работает, но не публикуется (нормально).
Вот код php:
<?php
$title=$_POST['title'];
$start=$_POST['start'];
$end=$_POST['end'];
$areHere=$_POST['areHere'];
$finalConsult=$_POST['finalConsult'];
$typeConsult=$_POST['typeConsult'];
try {
$bdd = new PDO('mysql:host=localhost;dbname=agenda', 'root', '');
} catch(Exception $e) {
exit('failed');
}
$sql = "sql insert into query";
$q = $bdd->prepare($sql);
$q->execute(array(':title'=>$title, ':typeConsult'=>$typeConsult ':start'=>$start, ':end'=>$end, ':finalConsult'=>$finalConsult, ':areHere'=>$areHere));
$query = "some sql select query";
$result = $bdd->query($query) or die(print_r($bdd->errorInfo()));
echo json_encode($result);
?>
Проблема вызвана тем, что я пытаюсь опубликовать и получить тот же php файл?
Или что-то еще ?
Преобразуйте ваш формат данных как шаблон json:
data: { 'title': eventData.title, 'start' : eventData.start.......}
Прямо сейчас у вас есть:
data: 'title='+ eventData.title+'&start='+ eventData.start +'&end='+ eventData.end +'&areHere='+eventData.areHere+'&finalConsult='+eventData.finalConsult
Вы публикуете данные без указания dataType
, Пытаться:
$.ajax({
url: './php/add_events.php',
data: 'title='+ eventData.title+'&start='+ eventData.start +'&end='+ eventData.end +'&areHere='+eventData.areHere+'&finalConsult='+eventData.finalConsult ,
type: "POST",
dataType : 'html', //Example
success: function(json) {
alert("OK");
eventData.id = json
}
});
или попробуйте, если с помощью post () вы получите результат:
$.post( "./php/add_events.php", function( data ) {
alert( "Data ok: " + data );
});
Я думаю, что для этого запроса нужен абсолютный путь, а не относительный путь.
Я думаю, что вы используете маршрутизацию по URL-адресу как angularjs, если да, то вам нужно разместить php-файл на другом сервере (независимо от этого URL-адреса) и указать абсолютный путь.
Для более точного ответа, пожалуйста, поделитесь полной информацией о среде, чтобы я мог помочь вам.
Решение состояло в том, что POST не разрешен на json-сервере, поэтому я перенесся на сервер apache, что намного лучше (для всех, кто пришел сюда и хотел найти решение)