gpt4 book ai didi

javascript - Ajax调用php未找到,404错误

转载 作者:行者123 更新时间:2023-12-02 13:50:09 24 4
gpt4 key购买 nike

我正在尝试构建自己的 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'>&times;")
.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');

在此示例中:
- ajax-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

关于javascript - Ajax调用php未找到,404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com