7折
减价出售
¥799
在 WordPress 中处理 AJAX请求返回数据 时,WordPress主题已经为开发者提供了几组非常方便的内置函数,用于安全、规范地返回数据给前端。
以下是最常用的几个内置函数及其使用场景:
wp_send_json() —— 返回 JSON 数据(最常用)用途:
当你希望返回一段 JSON 格式的数据给前端时使用。
它会自动设置 Content-Type: application/json,并结束执行(wp_die())。
语法:
wp_send_json( $response );
示例:
add_action( 'wp_ajax_get_product_data', 'my_get_product_data' );
add_action( 'wp_ajax_nopriv_get_product_data', 'my_get_product_data' );
function my_get_product_data() {
$data = array(
'status' => 'success',
'message' => '获取成功',
'product' => array(
'name' => 'WordPress T-shirt',
'price' => 99
),
);
wp_send_json( $data );
}
特点:
wp_die();echo json_encode();wp_send_json_success() —— 返回成功状态的 JSON用途:
这是 wp_send_json() 的一个快捷版本,适合返回操作成功的结果。
语法:
wp_send_json_success( $data = null, $status_code = null );
示例:
function my_save_form() {
$result = array( 'msg' => '表单提交成功!' );
wp_send_json_success( $result );
}
返回的 JSON 结构为:
{
"success": true,
"data": {
"msg": "表单提交成功!"
}
}
wp_send_json_error() —— 返回错误状态的 JSON用途:
与 wp_send_json_success() 相反,用于返回操作失败或错误提示。
语法:
wp_send_json_error( $data = null, $status_code = null );
示例:
function my_save_form() {
if ( empty( $_POST['name'] ) ) {
wp_send_json_error( array( 'msg' => '姓名不能为空!' ) );
}
}
返回的 JSON 结构为:
{
"success": false,
"data": {
"msg": "姓名不能为空!"
}
}
wp_die() —— 手动结束请求(旧方式)在旧版 WordPress 或手动返回时,你可能会看到这种写法:
echo json_encode( $data );
wp_die();
虽然这在技术上可行,但现在官方更推荐使用 wp_send_json() 系列函数,因为它更安全、更规范。
| 目的 | 推荐函数 | 说明 |
|---|---|---|
| 返回任意 JSON 数据 | wp_send_json() | 最通用 |
| 返回成功结果 | wp_send_json_success() | 自动加 "success": true |
| 返回错误信息 | wp_send_json_error() | 自动加 "success": false |
| 手动输出并终止 | wp_die() | 不推荐,旧方法 |
jQuery.ajax({
url: ajaxurl, // WordPress 会在前端定义 ajaxurl 变量
type: 'POST',
data: {
action: 'get_product_data'
},
success: function(response) {
if (response.success) {
console.log('商品信息:', response.data.product);
} else {
alert(response.data.msg);
}
}
});
减价出售
减价出售
减价出售
减价出售
电话咨询
1855-626-3292
微信咨询