gpt4 book ai didi

php - 如果所有代码都在一个文件中,如何指定Ajax jquery url路径

转载 作者:行者123 更新时间:2023-12-02 00:00:00 25 4
gpt4 key购买 nike

我在指定 Ajax jQuery url 路径时遇到问题。我有一个函数包含所有 Html 标记代码、php sned 邮件代码和 Ajax jQuery 代码,如下

如何在ajax代码中指定url属性?

信息:我在我的插件目录中使用 WordPress 主题和此功能

<?php
function bsncontact() {

//All php codes here
?>
<form id="ajax-contact" class="navbar-form" action="" method="POST">
<!-- other html markup codes -->
</form>
<script type="text/javascript">
jQuery(function(){
jQuery.ajax({
type: 'POST',
url: '',
data: "name=" + name + "&email=" + email + "&subject=" + subject + "&message=" + message,
success: function(text) {

}
});
});
</script>
<?php
}
?>

最佳答案

正如你所说,使用 WordPress 主题。在 WordPress 主题中,这非常简单,您可以在 WordPress 的后端(管理面板)和主题的前端注册 ajax

首先您可以将ajax代码放在单独的位置(例如将ajax代码放在myajax.js文件中),然后将其放入您的js 文件夹,然后使用 wp_localize_scrip

在您的主题上注册您的 ajax 代码(您创建函数并在其中注册这些脚本)和 WordPress admin ajax
function my_enqueue() {
wp_enqueue_script( 'ajax-script', plugins_url( '/js/myajax.js', __FILE__ ), array('jquery') );
wp_localize_script( 'ajax-script', 'ajax_object',array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'we_value' => 1234 ) );
}
add_action( 'admin_enqueue_scripts', 'my_enqueue' );

第二将您的 HTML 表单代码放入单独的函数中,例如

<?php
function myhtmlfunc() {
//Your html contact form here
//not important if form contain action="", you can remove it
}
?>

到目前为止非常简单。

第三将您的 php 发送邮件代码放在另一个函数中,并将 Ajax 放在面向查看者的一侧,以便下面的机器人记录和访问者用户使用 AJAX in Plugins

<?php
function myphpmail() {
//Put all php codes here
}
add_action( 'wp_ajax_my_action', 'myphpmail' );
add_action( 'wp_ajax_nopriv_my_action', 'myphpmail' );
?>

第四,然后设置您的 ajax url,如下所示

$.ajax({
type: 'POST',
url:ajax_object.ajaxurl,
success: function() {}
});

关于php - 如果所有代码都在一个文件中,如何指定Ajax jquery url路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35539269/

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