我正在使用AJAX来触发我的validation.php文件。我想在该文件中连接到我的数据库,所以我包含了connect.php文件,但它导致了一些问题。Require_once与JSON编码混合
<script type="text/javascript">
$(document).ready(function(){
$("#offer-form").submit(function(e){
e.preventDefault();
$.ajax({
type : 'POST',
data: {
'name': $('#name-input').val()
},
url : 'validation.php',
success : function(data) {
$("#name-error").text(data["name-error"]);
}
});
return false;
});
})
validation.php
<?php
header('Content-Type: application/json');
$error = array("name-error" => "");
require_once "connect.php";
$error['name-error'] = "error";
echo json_encode($error);
?>
connect.php
<?php
$serverName = "localhost";
$dbName = "test";
$username = "root";
$password = "";
try
{
$conn = new PDO("mysql:host=$serverName; dbname=$dbName",
$username,
$password,
array(PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);
echo "Connected successfully";
}
catch (PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
我简化了我的代码。问题是在我的validation.php文件中使用require_once导致名称错误不能显示。另一个奇怪的事情是,当我在浏览器中输入.../validation.php时,这个文件可以正常工作。我已经在我的主文件(包括上面显示的脚本)中使用connect.php,并且它工作正常。
你的回应无效JSON – apokryfos
你是什么意思? –