在Wordpress主题中使用AJAX进行SQL查询

SQL query using AJAX in Wordpress theme

本文关键字:AJAX 进行 SQL 查询 Wordpress      更新时间:2023-09-26

我试图使用AJAX将数据插入数据库,但无法连接到服务器端的.php文件。我想这是因为这都是在Wordpress上运行的,所以我的正常url路径到。php文件可能不正确。

下面是我的设置:

模板文件:

$('#newsletter-register').submit(function(){
    var ajaxRequest;  // The variable that makes Ajax possible!
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            alert(ajaxRequest.responseText);
        }
    }
    ajaxRequest.open("GET", "register_newsletter.php", true);
    ajaxRequest.send(null);
});

'#newsletter-register'是用户用来提交他/她的信息的表单。当ajaxRequest处于readyState 4时,会正确抛出警报,但是会抛出一个空值。

我的php是一个简单的echo,返回一个字符串来表示连接是正确的(目前我只是想看看文件是否正确地相互调用)。

我认为它必须是register_newsletter.php的url路径,因为我已经尝试将代码放在模板文件内,外部等。

我的javascript文件位于/theme/assets/js/code.js中,我的模板文件(包括register_newsletter.php文件)位于/theme。

任何想法?

我昨天就遇到了这种问题。在我的情况下,只能从

访问该页面
www.site.com/aFolder/ 

脚本存储在我的

'/wp-content/themes/themeName/processForm.php'

文件夹中。

和我使用的URL是:

../wp-content/themes/themeName/processForm.php

我的JS只是在主header.php文件的头部,但请注意,我必须使用的URL是相对于访问脚本的页面的URL。这能说明什么问题吗?

编辑:

作为故障排除步骤,尝试确保您可以从绝对URL访问php文件,并查看firebug,查看在触发ajax请求时调用的链接,以查看它是否与您期望的相匹配。