我在Windows 10上本地运行,我是我计算机的完全管理员。有什么想法吗?
基本上,我正在尝试从表单发送电子邮件。我刚开始编写代码,想测试ajax是否被调用。我已配置SMTP。
<div class="chat-form">
<form class="form-container" id="chat-form">
<input type="hidden" name="nonce" value="<?php echo wp_create_nonce( ) ?>" />
<div class="form-group row">
<div class="col">
<input type="email" class="form-control" placeholder="Your email" id="email" name="email" required />
</div>
</div>
<div class="form-group row">
<div class="col">
<textarea class="form-control" placeholder="Type your message" id="message" name="msg" rows =10 required></textarea>
</div>
</div>
<div class="form-group row">
<div class="col">
<button type="submit" class="btn btn-sm btn-primary btn-block submit" name="submit">Send</button>
</div>
</div>
</form>
<div class="form-group row">
<div class="col text-right">
<button type="button" name="message" class="btn btn-sm btn-success chat" title="Open message window"><i class="far fa-comment"></i></button>
</div>
</div>
</div>
<script>
(function($) {
$(".submit").on("click", function (e) {
e.preventDefault();
//e.stopPropagation();
let endpoint = "<?php echo admin_url( "admin-ajax.php" )?>";
let form = $("#chat-form").serialize();
let formData = new FormData;
formData.append("action", "enquiry");
formData.append("enquiry", form);
//alert (url);
$.ajax( endpoint, {
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(response) {
alert(response.data)
},
error: function(err) {
}
});
});
})(jQuery)
</script>
在函数中。php我有这个
add_action("wp_ajax_enquiry", "send_message_form");
add_action("wp_ajax_nopriv_enquiry", "send_message_form");
function send_message_form() {
wp_send_json_success("Yes it works");
}
就这么多了
SO网友:djack109
它正在工作,我通过挖掘管理ajax来跟踪它。php查看401/400的响应情况。我的修复基本上是action
参数附加到formData
formData.append("enquiry", form);
formData.append("action", "enquiry");
我通常不使用formData发布内容,
.serialize()
这些年来对我来说已经足够了。由于我大部分时间都在使用JSON编写C#和PHP,而没有WordPress的开销,我只是假设同样的事情,没有考虑到您需要连接WordPress才能使一切正常运行。
但我确实模糊地回忆起了一段时间前集市上关于添加到formData的项目顺序的一些事情(非WordPress),或者我可能只是在做梦。
@汤姆:我仍然有兴趣了解更多关于REST解决方案的信息。