[英]Ajax call to php not found, 404 error
我正在嘗試構建自己的WordPress主題,它似乎可以工作,但是我的電子郵件表單存在問題。 當我在適應WordPress之前使用它時,該代碼有效,但現在不起作用了。
$(function() {
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
// Prevent spam click and default submit behaviour
$("#btnSubmit").attr("disabled", true);
event.preventDefault();
console.log ('1');
// get values from FORM
var name = $("input#name").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
var message = $("textarea#message").val();
var firstName = name; // For Success/Failure Message
// Check for white space in name for Success/Fail message
if (firstName.indexOf(' ') >= 0) {
firstName = name.split(' ').slice(0, -1).join(' ');
console.log ('2');
}
$.ajax({
url: "./mail/contact_me.php",
type: "POST",
data: {
name: name,
phone: phone,
email: email,
message: message
},
cache: false,
success: function() {
// Enable button & show success message
console.log ('3');
$("#btnSubmit").attr("disabled", false);
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Your message has been sent. </strong>");
$('#success > .alert-success')
.append('</div>');
JavaScript文件位於以下路徑中: domain/wp-content/themes/federo/js/contact_me.js
PHP文件在這里: domain/wp-content/themes/federo/mail/contact_me.php
即使@ ruslan-nigmatulin答案有效,也最好傳遞該URL(以及您需要的其他任何東西) wp_localize_script
函數,如下所示:
wp_localize_script( 'ajax-script', 'ajax_object', array( 'ajax_url' => get_template_directory_uri() . '/mail/contact_me.php');
在此示例中:
wp_enqueue_script
ajax-script
是您與wp_enqueue_script
使用的wp_enqueue_script
ajax_object
是將可用於腳本的對象的名稱
-第三參數是您要傳遞的值數組
然后,要在JS中獲取ajax_url
,只需執行ajax_object.ajax_url
。 在這種情況下(假設federo是您當前的主題), ajax_object.ajax_url
將為http://domain/wp-content/themes/federo/mail/contact_me.php
嘗試改變
url: "./mail/contact_me.php",
進入絕對路徑
url: "http://domain/wp-content/themes/federo/mail/contact_me.php",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.