所以我实际上已经阅读了关于这个的stackoverflow问题,但是它们对于使用最新版本的wordpress来说有点太老了。
我的最终目标是提交我的表单中的一些数据到数据库,但现在ajax响应对我不起作用。在WP中的自定义页面加载中,将加载所有代码,以便所有函数都应正常工作。所有这些都在PHP文件中,为什么使用echo来创建JS脚本。这是我代码的重要部分
echo '<button id="ZapisPrace">Save</button>
<script>
jQuery("#ZapisPrace").click(function($){
var data={
action: "addToDB",
info: "nomz"
};
jQuery.post(ajaxurl,data,function(response){
alert("Response was "+ response);
});
});
</script>';
add_action('wp_ajax_addToDB','pridajDoDB');
function pridajDoDB(){
echo '<script>console.log("AAA")</script>';
wp_die();
}
使用WP的当前版本,所以变量ajaxurl指向
/wordpress/wp-admin/admin-ajax.php
没有console.log发生,响应总是0,即使我删除pridajDoDB函数或add_action。只是没有正确触发ajax请求。有人能告诉我为什么吗?此外,我还没有使用像wp_localize_script、wp_register_script或wp_enqueue_script这样的函数,因为所有这些都在一个加载的PHP文件中,据我所知,我不需要导入jquery,因为它在wp中是默认可用的。我刚刚开始学习如何使用WP,PHP AJAX和jQuery,所以我还有很多东西要学。
PS:我应该使用使用ajax的WP方式。
好吧,所以我不知道上面的代码是如何工作的,但是我设法让它通过我在网上找到的不同的wp结构工作:
顺便说一句:我在这里使用onClick函数,但即使用jQuery click事件替换,它也能工作。
add_action('wp_ajax_addToDB','pridajDoDB');
echo '<button onClick='triggerAjax()'>Save</button>?>';
<script>
function triggerAjax(){
<?php $nonce = wp_create_nonce( 'subbmitData' );?>//used so ajax response can verify from where is the request coming
jQuery.ajax({
type: "post",url: "admin-ajax.php",data: { action: 'addToDB', _ajax_nonce: '<?php echo $nonce; ?>' },
success: function(html){
console.log(html);//this will console log everything that happens in ajax called php function. Echo works as well.
}
});
}
</script>
<?php
function pridajDoDB(){
check_ajax_referer( "subbmitData" );//this check from where is the request coming from
//here database commands works but if you echo or console log something it will be just passed to success function above
die();
}
?>
更改 php 代码,如下所示。
add_action('wp_ajax_addToDB','addToDB');
function addToDB(){
echo "AAA";
wp_die();
}
问题内容: 我有一些Django可以很好呈现的HTML。我想单击HTML上的按钮,并在视图中触发事件。 看起来按钮并未引起触发。我不确定自己在做什么错。 这是我的代码: 这是我的: 问题答案: 为什么没有直接使用该事件? 试试这个: 如果按钮是动态创建的,那么您可能想使用该函数将事件处理程序附加到元素: 尝试使用以下URL来包含JQuery库:
我是一个新手,我正在尝试创建一个应用程序来在我的投资组合中使用。本质上,该程序是一个可以访问不同菜单的菜单(json文件:texas_pick.js,Breakth.js…),该程序旨在以按钮的形式显示菜单选项,按钮的详细信息从各自的json文件中检索。我面临的问题是,单击菜单选项时,会检索最后一个菜单项的数据。我将后端编程为只将商品名称和价格推送到数据库,而前端则检索这些数据并将其显示在表上。检
问题内容: 我试图在单击按钮后禁用它。我努力了: 但该按钮并未被禁用。当我删除 按钮被禁用。 虽然这没有按预期工作,但我认为代码顺序是正确的。任何帮助将不胜感激。 问题答案: 放入成功函数: 这将确保 在 加载数据 后将 disable设置为false 。当前,您在同一单击功能(即同时)中禁用和启用按钮。
问题内容: 使用JSF和PrimeFaces 6.1,我有一个inputText字段,例如: 在同一个表单中是一个commandButton: 当我 对inputText字段进行更改, 然后单击命令按钮以外的其他位置 单击命令按钮 一切都按预期工作。但是如果我: 对inputText字段进行更改, 立即命令按钮 该按钮未触发,因为commandButton的第一次单击触发了valueChange事
问题内容: 该脚本每5秒重新加载或刷新页面一次。但是我想使用jQuery和AJAX调用来做到这一点。可能吗? 问题答案: 正如其他人指出的那样,setInterval和setTimeout可以解决问题。我想强调一点我从Paul Irish的精彩视频中学到的更先进的技术:http : //paulirish.com/2010/10-things-i-learned-from-the- jquery-
问题内容: 我浏览了旧的问题,并尝试了许多似乎可以做到的不同方法。我最接近的工作是在这里:如何在自定义WP_QueryAjax上实现分页 我已经尝试了一切,但没有用。页面上没有任何变化。如果您检查并单击“加载更多按钮”,则jQuery会执行“加载更多按钮”操作,因为它从更改为,即使对我来说,这似乎也不对。它并没有添加帖子,我想我缺少一些简单的东西,但是我一生都无法解决。 我的模板文件中的代码是: