我有一个问题,我现在已经坚持了几天……
我正在尝试使用简单的ajaxPOST函数将数据发送到 MySQL数据库(而不是WP数据库).
我正在尝试使用简单的ajaxPOST函数将数据发送到 MySQL数据库(而不是WP数据库).
此代码位于主题中的“single-post.PHP”内,因为必须在每个帖子之前检查它.
$.ajax({ url: 'library/functions/admin_checkuser.PHP',data: {action: userID},type: 'post',success: function(output) { alert(output); } });
我只是将一个变量发送到“admin_checkuser.PHP”脚本,该脚本又调用另一个对数据库采取操作的脚本.
这是“admin_checkuser”的代码:
$userid = $_POST['action']; echo $userid;//for testing $oMysqL = new MysqL(); $query = "Select * FROM videotable WHERE uid = '$userid'"; $oMysqL->Executesql($query); $bb = $oMysqL->iRecords; $aa = $oMysqL->aResult; echo $bb; if ($bb == 0){ $query = "INSERT INTO videotable VALUES ('','$userid','true')"; $oMysqL->Executesql($query); echo 'true'; exit(); }else{ $sharing = MysqL_result($aa,"share"); echo $sharing; exit(); }
但我不认为这些调用是通过脚本进行的.
这些脚本在wordpress之外进行了测试并且确实有效,所以它必须是wordpress中阻止ajax调用的东西.
顺便说一下,我尝试将“admin_checkuser.PHP”放在许多不同的文件夹中,但没有任何效果.
提前致谢.
您应该检查您的网址以获取您的ajax电话.
也许使用完整的URL而不是相对的url.
可能是因为您的主题的位置使得网址不正确.我假设你的ajax代码在你的主题文件夹中.
例如,如果你在这个页面http:// yourwebpage / test /那么ajax调用将在这里http://yourwebpage/test/library/functions/admin_checkuser.PHP.我假设这是不正确的位置.
这就是您需要在脚本中添加绝对URL的原因.如果它在您的主题中,您可以使用此方法get_template_directory_uri()来获取模板目录.
见:http://codex.wordpress.org/Function_Reference/get_template_directory_uri