jquery — ошибка 404 при пост-запросе с ajax, php и json сервером

Как сказано в названии, я получаю эту ошибку

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 файл?
Или что-то еще ?

0

Решение

Преобразуйте ваш формат данных как шаблон json:

data: { 'title': eventData.title, 'start' : eventData.start.......}

Прямо сейчас у вас есть:

data: 'title='+ eventData.title+'&start='+ eventData.start +'&end='+ eventData.end +'&areHere='+eventData.areHere+'&finalConsult='+eventData.finalConsult
1

Другие решения

Вы публикуете данные без указания 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 );
});
1

Я думаю, что для этого запроса нужен абсолютный путь, а не относительный путь.

Я думаю, что вы используете маршрутизацию по URL-адресу как angularjs, если да, то вам нужно разместить php-файл на другом сервере (независимо от этого URL-адреса) и указать абсолютный путь.

Для более точного ответа, пожалуйста, поделитесь полной информацией о среде, чтобы я мог помочь вам.

0

Решение состояло в том, что POST не разрешен на json-сервере, поэтому я перенесся на сервер apache, что намного лучше (для всех, кто пришел сюда и хотел найти решение)

0
По вопросам рекламы [email protected]