AJAX从相同的域发布到WordPress页面

时间:2015-11-03 作者:Panagiotis

我正在尝试为域中的wordpress页面创建一个ajax post侦听器(让我们说http://example.com). 同一域中的另一个web应用(http://example.com) 存在,用户从那里发送ajax帖子。

我实现了一个简单的页面:

<?php
get_header();
?>
<h3>Listener</h3>
<div id="listener1">
</div>
<script type="text/javascript">
jQuery(document).ready(function($){
    console.log("Into WPTOASTER");
    $.ajaxSetup({
        success: function() {
            console.log("trapped?");
        }
    });
});
</script>
<?php
get_footer();
?>
位于http://example.com/listener .

在同一台服务器中,我有一个http://example.com/zzz.php 其代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type=\'text/javascript\' src=\'http://example.com/wp-includes/js/jquery/jquery.js?ver=1.11.3\'></script>
<script type=\'text/javascript\' src=\'http://example.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1\'></script>
</head>
<body>
<form name="aaaa">
<input type="hidden" name="aaa" value="111">
<button type="button" id="salty">CLICK AND SUBMIT</button>
</form>
<script>
jQuery(document).ready(function($){
    $(document).on("click","#salty",function(ev){
        ev.preventDefault();
        $.post(\'http://example.com/listener\',{"name":"john","lastname":"smith"},function(data){
            console.log("check if sent.");
        });
    });
});
</script>
</body>
</html>
当我使用zzz时。php向侦听器发送ajax请求时,我收到一个404错误。一旦收到php,操作将是一个简单的通知。有人能帮我吗?

1 个回复
SO网友:Milo

首先,WordPress有一种内置的方式来处理AJAX请求,您应该read this page 并改用这种方法。

你的方法的问题是POSTingname 变量。name is a WordPress query var, 并导致WordPress查询包含slug的页面John. 始终使用唯一字符串作为变量的前缀,以避免这些问题。

相关推荐

WordPress AJAX错误400向远程站点发送数据的错误请求

我正在使用发件人。net获取电子邮件订阅列表。这个网站给了我一些信息,可以将用户的电子邮件添加到订阅列表中。我想使用WordPress ajax来实现这一点。但它返回错误400错误请求。我的代码是:文件ajax新闻脚本。js公司: jQuery(document).ready(function($){ // Perform AJAX send news on form submit $(\'form#fnews\').on(\'submit\', funct