如何通过发送AJAX请求从定制表返回记录

时间:2020-07-03 作者:GreatDayDan

我正在尝试从自定义表返回记录。在客户端,我正在发送一个AJAX请求。

<script>
    
    var eventId;
    var xmlhttp;
    var xmlhttp = new XMLHttpRequest;
    
    function doclick(ddl){
        $evtid=-1;      
        $evtid =ddl.options[ddl.selectedIndex].value;
              document.getElementById(\'hideme\').value = 
              ddl.options[ddl.selectedIndex].value;
              document.getElementById(\'ename\').value = 
              ddl.options[ddl.selectedIndex].text;
              xmlhttp = new XMLHttpRequest();
              xmlhttp.onreadystatechange = callback;
              xmlhttp.open("POST", "http://www.memoriesof.website/id.php", true);
              xmlhttp.send();            
        }
          
    function callback(){
    
        if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById(\'DESCRIPTION\').innerHTML = xmlhttp.responseText;
        }
    }
</script>
$evtid正在获取正确的数据。

id.php文件:

<?php
$wpdb;
$sql=\'\';
$eid;
$result;
echo print_r($result);
echo \'Howdy: \'. print_r($eid);
try {
$sql=\'select description from mo_events where id = \'. \'11\';
$result = $wpdb.get_results($sql);
    
    echo "Im\'\'\'trying...";    
} catch (Exception $exc) {
    echo $exc->getTraceAsString();
    echo \'Caught me.\';
} finally {    
    echo "finally...out: ". print_r($result);
}
echo \'all the way... : \'.print_r($result);
这是描述文本区域上显示的内容:“请参阅”;1您好:1最后。。。输出:1}

看来我的客户端正在工作。有人能帮我找出如何将数据返回给客户吗?谢谢丹\';

1 个回复
SO网友:ericek111

你的代码(客户端和服务器端)毫无意义,非常难看loading WordPress 在自定义PHP脚本中,因此$wpdb 会有用的$wpdb->get_results(\'... sql ...\').无论如何,你不应该直接调用PHP脚本。最好创建一个REST endpoint 或arewrite endpoint 在主题或插件中。