这是将数据插入数据库的代码。并将结果发送回ajax代码。
<?php
if (isset($_FILES['files']['name'])) {
$files = $_FILES['files']['name'];
$desc = $_POST['description'];
$subject = $_POST['subject'];
$path = 'Lectures/' . $files;
move_uploaded_file($_FILES["files"]["tmp_name"], $path);
$date = date('d-M-y');
$query = "INSERT INTO content(file_name,course_code,description,file_path,upload_date) VALUES ('$files','$subject','$desc','$path','$date')";
$cm = sqlsrv_query($conn, $query);
if ($cm) {
$result['status'] = "Succsess";
} else {
$result['status'] = "failed";
}
echo json_encode($result);
}
这是Ajax Success: function
。即使条件为true,它也仅执行else
部分。
success: function(output) {
alert(output);
if(output.status == "Succsess")
{
alertify.success('Success message');
}else{
alertify.set('notifier','delay', 2);
alertify.set('notifier','position', 'top-right');
alertify.error('Error message');
}
readRecords();
$('#form1').trigger("reset");
}
答案 0 :(得分:1)
警报(输出);如果插入了数据,则显示成功消息。
它应该显示[object Object]
。
您正在查看的是字符串,而不是从JSON解析的对象。
由于它是字符串,所以没有status
属性。
const output = '{ "status": "Succsess" }';
alert(output);
alert(output.status);
您需要告诉jQuery响应是JSON,因此它将解析为一个对象。
header("Content-Type: application/json");
echo json_encode($result);
请注意,您必须set the headers before sending any other output。
在不显式设置Content-Type头的情况下,PHP将默认声明JSON是HTML…而不是HTML。
请注意,以下内容仅是示例。您不应将JSON.parse
添加到客户端代码中。 jQuery将在后台执行此操作。
const output = JSON.parse('{ "status": "Succsess" }');
alert(output);
alert(output.status);