我有一个使用JQuery Validate的表单。我的submitHandler看起来像下面的
submitHandler: function(){
$.ajax({
type: "POST",
url: "backend/process.php",
data: {
'clientName': $("#clientName").val()
},
dataType: "json"
}).done(function (response) {
alert("DONE");
alert(response);
if(response == 'success') {
alert("YES");
}
});
return false;
}
因此,此数据将发送到process.php。该文件执行以下操作
<?php
include 'classes/ClientHandler.php';
$c_name = $_POST['clientName'];
$clientHandler = new ClientHandler();
$response = $clientHandler->insertClient($c_name);
var_dump($response);
if($response == "success"){
return "success";
}
在我的ClientHandler类中,我将数据插入数据库并在成功时返回。
public function insertClient($c_name) {
try {
/* Database code */
return "success";
}
catch (PDOException $e) {
trigger_error("Failed to create client: " . $e->getMessage(), E_USER_ERROR);
}
}
我没有显示我的所有代码,所以它不是很多,但上面应该展示我的过程。我的数据已成功添加到我的数据库中。
我刚刚给处理程序添加了一个失败,这会触发我设置失败的警报。它声明
状态:parsererror错误:SyntaxError:JSON.parse:意外 JSON数据第1行第1行的字符
我的代码中是否有可能导致此错误的内容?
由于
答案 0 :(得分:1)
在 process.php 中,替换您的:
return "success";
通过
echo json_encode("success");
您必须编写数据,以便使用 echo 。
如果您使用 return 语句,则会在服务器级别返回一些数据。