这是我的按钮
$( "#editVehicle" ).button().click(function( event ) {
event.preventDefault();
var vp = $("input[name=vehicle_plate]").val(),
dataString = 'vehicle_plate='+ vp;
$.ajax({
type: "POST",
url: "editvehicle.php",
data: dataString,
dataType: "json",
success: function(data){
if(!data.error && data.success) {
$("input[name=vehicle_model]").val(data.vehicleName);
$("input[name=assigned_driver]").val(data.assignedDriver);
} else {
alert(data.errorMsg);
}
}
});
});
这是我的PHP
<?PHP
include("db.classes.php");
$g = new DB();
$g->connection();
if($_POST) {
$vehiclePlate = $g->clean($_POST["vehicle_plate"],1);
$g->edit($vehiclePlate);
}
$g->close();
?>
这是我的db.classes
public function edit($vehiclePlate)
{
$sql = "select vehicle_name, driver_id from vehicles where vehicle_plate='$vehiclePlate'";
$result = mysql_query($sql) or die(json_encode(array("error" => 0, "errorMsg" => "MySQL query failed.")));
$row = mysql_fetch_array($result);
if(mysql_num_rows($row)) {
echo json_encode(array(
"success" => 1,
"vehicleName" => $row['vehicle_name'],
"assignedDriver" => $row['driver_id']
));
}
else {
echo json_encode(array(
"error" => 1,
"errorMsg" => "No rows returned"
));
}
}
按钮标记
<button type="submit" id="editVehicle" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Edit</span>
</button>
我的html中有一个输入字段,我输入车牌,然后当用户点击按钮时,程序在数据库中搜索车辆名称和driver_id,用户输入的牌照,并将值返回到另一个名为<的输入字段strong>&#34; vehicle_name&#34; 和&#34; assigned_driver&#34; 但单击按钮时甚至没有发生任何错误警告消息。我知道我在哪里错了吗?
答案 0 :(得分:0)
错误在这里 -
if(!data.error && data.success) {
您只返回succcess
或error
,但不能同时返回,因此条件始终为false。
在条件之前返回两者或检查未定义的属性error
和success
,如< - p>
if ((typeof data.error != 'undefined' && !data.error) || (typeof data.success != 'undefined' && data.success))
既然你要单独归还error
,那么你不需要检查是否,你也可以尝试这个,也许是更好的解决方案 -
$.ajax({
type: "POST",
url: "editvehicle.php",
data: dataString,
dataType: "json",
success: function(data){
$("input[name=vehicle_model]").val(data.vehicleName);
$("input[name=assigned_driver]").val(data.assignedDriver);
},
error: function(data){
alert(data.errorMsg);
}
});
});