在XAMPP服务器上发布到PHP的AJAX失败

时间:2018-04-29 19:52:02

标签: php jquery ajax xampp

广告中的真相:这是我正在努力解决的家庭作业。

我在桌面上运行XAMPP。我使用AJAX帖子通过jQuery验证插件将表单数据发送到PHP页面。这是JS:

var $infoForm = $('#infoForm');

$infoForm.validate({
    submitHandler: function() {
        var formValues = getFormValues();
        $.post("/Week5/process.php", formValues, postResponse, "text");
    }
});

function postResponse(response) {
    $infoForm.fadeOut("slow", function() {
        console.log(response);
        $('#postResponse').empty().append('<p>' + (response.message ? response.message : 'The server is silent') + '</p>').slideDown("slow");
    });    
}

这里的process.php:

<?php 
    header("Content-type: application/json");
    $message = array('message'=>'Thank you for your submission');
    echo json_encode($message); 
?>

这是response在控制台中的样子:

<br />
<b>Warning</b>:  Unknown: failed to open stream: No such file or directory     in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Fatal error</b>:  Unknown: Failed opening required 'D:/User Data/johnr/OneDrive/Education/ICT 4510/htdocs/Week5/process.php' (include_path='C:\xampp\php\PEAR') in <b>Unknown</b> on line <b>0</b><br />

我在Apache错误日志中收到相同的消息(没有HTML标记)。我不认为我有路径错误,因为当我更改$.post()中的来自&#39; process.php&#39;类似于&#39; foo.php&#39;我得到了404 Not Found,就像我期望的那样。看起来服务器正在查找process.php,但后来找不到它呈现的响应。我不认为验证插件是问题,因为我通过直接处理表单的提交事件来尝试它,结果没有改变:

$infoForm.submit(function(event) {
    event.preventDefault();
    var formValues = getFormValues();
    $.post("/Week5/process.php", formValues, postResponse);
});

最后一个数据点:我实际上得到了两个与process.php相关的请求/响应事件。第一个是具有正确请求有效负载的POST和作为响应有效负载的错误。第二个是没有请求或响应有效负载的GET。

0 个答案:

没有答案