描述
如果$data
参数是WP_Error对象,则对象中的错误将作为错误代码和相应消息的数组进行处理和输出。所有其他类型的输出无需进一步处理。
参数
- $data
-
(mixed)(可选) 将数据编码为JSON,然后打印并die。
默认值: null
- $status_code
-
(int)(可选) 要输出的HTTP状态代码。
默认值: null
- $options
-
(int)(可选) 要传递给json_encode()的选项。默认值为0。
更多信息
响应对象将始终具有值为false
的success
键。如果在$data
参数中向函数传递了任何内容,它将被编码为data
键的值。
源码
更新日志
版本 | 描述 |
---|---|
5.6.0 | 添加了$options 参数。 |
4.7.0 | 添加了$status_code 参数。 |
4.1.0 | 如果传入了WP_Error对象,$data 参数现在将被处理。 |
3.5.0 | 开始引入 |
使用示例
$error = new WP_Error( '001', 'No user information was retrieved.', 'Some information' ); wp_send_json_error( $error );
只执行
wp_send_json_error();
不会发送错误–它实际上会返回200
。因此,如果您想避免AJAXsuccess
但触发error
,请确保添加错误代码,如500
,或任何您喜欢的代码。实例
jQuery( document ).ready( function() { jQuery( '#btn_save' ).on( 'click', function( event ) { event.preventDefault(); jQuery.post( pluginUrl + 'ajax/save_field.php', jQuery( '#my-form' ).serialize(), function( data ) { alert( data.success ); } ); } ); } );
save_field.php
<?php $nonce = $_POST['_wpnonce_name']; if ( empty( $_POST ) || ! wp_verify_nonce( $nonce, 'my-nonce' ) ) { wp_send_json_error(); // sends json_encoded success=false }