0

如标题中所述,我收到此错误

jquery.min.js:3049 POST http://localhost:3000/php/add_events.php 404(未找到)

当我尝试在 json-server 上使用该代码访问 php 文件时:

$.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 文件引起的问题吗?
或者是别的什么 ?

4

4 回答 4

1

将您的数据格式转换为 json 模式:

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

现在你的是:

data: 'title='+ eventData.title+'&start='+ eventData.start +'&end='+ eventData.end +'&areHere='+eventData.areHere+'&finalConsult='+eventData.finalConsult 
于 2017-09-21T08:00:06.193 回答
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 );
});
于 2017-09-21T08:09:19.287 回答
0

我认为对于这个请求,它需要一个绝对路径,而不是相对路径。

我认为您使用像 angularjs 这样的 url 路由,如果是,那么您需要在另一台服务器中托管 php 文件(独立于此 url)并提供绝对路径。

如需更准确的答案,请分享环境的完整详细信息,以便我为您提供帮助。

于 2017-09-21T08:05:51.753 回答
0

解决方案是 POST 不允许在 json-server 上,所以我迁移到一个更好的 apache 服务器上(对于所有来到这里并想要解决方案的人)

于 2017-10-09T09:30:36.300 回答