【发布时间】:2023-03-17 15:23:01
【问题描述】:
我必须在这里遗漏一些简单的东西。 Firebug 显示在 NET 选项卡(NET 选项卡-> 发布 -> 参数)中完全按照应有的方式发送数据。 PHP 函数甚至不会回显简单的文本。
PHP:
add_action('wp_ajax_nopriv_process_json', 'process_json_received');
add_action('wp_ajax_process_json', 'process_json_received');
function process_json_received(){
echo "ANYTHING...";
exit;
}
JS/Jquery(正确发送)
var data = JSON.stringify({ action: 'process_json', value_name: 'value' });//generic sample
$.ajax({ url: 'http://localhost:12345/site_name/wp-admin/admin-ajax.php',
data: {data: data},
type: 'post',
dataType: 'json',
success: function (response) {
alert("Got this from the server: " + response);
console.log( response );
$('body').append(response); // <-- Append the ajax response to the page body
},
complete: function(XMLHttpRequest, text_status) {
},
error: function (response) {
alert("Error getting php file");
}
});
同样,PHP 函数中的内容无关紧要,响应始终为 0。它可能是“enqueue_scripts”的事情,但 ajax 请求正在按应有的方式发送。 Firebug 中的 NET 选项卡显示完美的 json 数据,因此问题必须与 PHP 函数(或正确访问它)有关。也许 Wordpress 以某种方式阻止了它???必须是一些简单的东西——我希望新的眼睛会有所帮助。提前谢谢...
【问题讨论】:
-
您是否在错误函数或“成功”Console.log 中收到警报以显示零?如果您进入成功状态,那么 PHP 中肯定有错误。
标签: php jquery ajax json wordpress