dwz实现ajax php
dwz实现Ajax与PHP交互
DWZ(JUI)是一个基于jQuery的轻量级前端框架,常用于快速开发后台管理系统。通过Ajax与PHP交互实现动态数据加载是常见需求。
基本Ajax请求配置
在DWZ框架中,通常使用$.ajax或封装好的方法发起请求。配置Ajax请求时需注意与PHP后端的参数匹配:
DWZ.ajax({
url: "api.php", // PHP接口地址
type: "POST", // 请求方式
data: {action: "getData", id: 123}, // 传递参数
loadingmask: true, // 显示加载遮罩
success: function(json){
// 请求成功回调
}
});
PHP后端处理示例
创建api.php文件处理前端请求:
<?php
header('Content-Type: application/json');
$action = $_POST['action'] ?? '';
switch($action){
case 'getData':
$id = intval($_POST['id']);
$data = ['status'=>1, 'data'=>['id'=>$id, 'name'=>'test']];
echo json_encode($data);
break;
default:
echo json_encode(['status'=>0, 'error'=>'Invalid action']);
}
?>
表单提交处理
DWZ提供了表单Ajax提交的封装方法,在HTML中需添加特定class:
<form action="submit.php" method="post" class="pageForm required-validate"
onsubmit="return validateCallback(this, navTabAjaxDone)">
<input type="text" name="username" class="required"/>
<button type="submit">提交</button>
</form>
对应的PHP处理脚本:
<?php
$response = ['statusCode'=>200, 'message'=>'操作成功'];
// 处理表单数据...
echo json_encode($response);
?>
回调函数处理
DWZ提供了几个常用回调函数:
navTabAjaxDone用于导航标签页内容刷新dialogAjaxDone用于对话框操作后关闭ajaxDone通用回调
自定义回调示例:
function customCallback(json){
if(json.statusCode == DWZ.statusCode.ok){
alert("操作成功");
$.pdialog.closeCurrent();
} else {
alert(json.message);
}
}
错误处理机制
PHP端应返回标准格式的错误响应:
<?php
try {
// 业务逻辑
echo json_encode(['statusCode'=>200, 'message'=>'成功']);
} catch(Exception $e) {
echo json_encode([
'statusCode'=>300,
'message'=>$e->getMessage()
]);
}
?>
前端通过回调函数的第二个参数处理错误:
validateCallback(form, function(json){
// 成功处理
}, {
// 错误配置
timeout: 3000,
alertMsg: "操作失败,请重试"
});
安全注意事项
- PHP端应对所有输入参数进行过滤验证
- 使用预处理语句防止SQL注入
- 重要操作需增加CSRF令牌验证
- 接口返回明确的状态码和错误信息
// CSRF令牌示例
session_start();
if($_POST['token'] != $_SESSION['token']){
die(json_encode(['statusCode'=>300, 'message'=>'非法请求']));
}






