嗨,我正在尝试加入Wordpress Ajax请求。现在,我完成了一个完美运行的脚本。但是由于我不是安全专家,所以我想问问您是否可以帮助我。
我还想知道是否每次都要使用表单,或者是否可以直接通过jQuery Ajax启动请求。如果是这样,我该如何处理以前无法设置随机数的动态请求?例如在每个条目都有多个按钮的列表中?
非常感谢!
template-form.php
<form method="post" id="form">
<input type="text" name="form_name" />
<?php wp_nonce_field( 'form_action', 'form_nonce' ); ?>
<input type="submit" id="submit" value="save">
</form>
script.js
jQuery("#submit").click(function (e) {
e.preventDefault();
jQuery.post(ajaxurl + "/ajax.php", jQuery("#form").serialize()).done(function (data) {
alert(data);
});
return false;
});
ajax.php
<?php
define( 'WP_USE_THEMES', false );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
if( isset( $_POST['form_nonce'] ) && wp_verify_nonce( $_POST['form_nonce'], 'form_action') ) {
$form_name = sanitize_text_field($_POST['form_name']);
echo "is working";
}else{
echo "not working";
wp_die();
}
?>
答案 0 :(得分:0)
我还想知道是否每次都要使用表格,或者是否 可以直接通过jQuery Ajax启动请求。如果是这样,我该怎么做 动态请求,我以前不能设置现时?例如在一个 列出每个条目有多个按钮的地方?
不,您也可以使用wp_nonce_url进行ajax调用。 但据我所知,如果您安装了多站点并将ajax调用从网络的一个博客发送到另一个博客,我将无法工作。
除此之外,您的代码对我来说还可以,并且您还说它正在工作。 因此,我很困惑您到底需要什么帮助。 你能澄清你的问题吗?