微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用XMLHttpRequest的PHP AJAX CALL

如何解决使用XMLHttpRequest的PHP AJAX CALL

我正在一个PHP项目上,需要进行ajax调用,但是它的设置方式是“从未见过。我有一个文件:index.PHP看起来像这样:

echo '<input id=ajax_redraw name=ajax_redraw type=button value="Redraw" onclick="ajaxtest()" />';
echo '<div id=destination_div name=destination_div class=ajax_test >';
echo '</div>';

echo end_page();

function redraw_destination_div()
{
    global $db;

    $select = $db->select()
                ->from( EPRESCRIBING_ERROR_MESSAGES,'error_message' );
    $errors = $db->fetchCol( $select );

    $random_key = rand( 0,(count($errors)-1) );
    $errror_message_for_destination_div = $errors[$random_key];

}

我需要在div上显示变量$ errror_message_for_destination_div,其ID为destination_div。

我的JavaScript代码如下:

function ajaxtest() {

  // Getting the specific div to target
  var targetArea = document.getElementById("destination_div");
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("POST","ajax_test.PHP",true);
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  xmlhttp.onreadystatechange = function() {
    if (this.readyState === 4 || this.status === 200){ 
        targetArea.innerHTML = 'SEE ME';
        console.log(this.responseText); // echo from PHP
    }       
  };
  xmlhttp.send(); 


}

我可以显示“再见”文本,没有问题。我只需要知道如何调用显示PHP函数redraw_destination_div的响应即可。谢谢您的帮助。

解决方法

您需要重写PHP。

HTTP请求是针对URL而不是功能。

您需要一个URL,可以请求获取所需数据(仅 您需要的数据)。

当前,您有一个PHP程序,该程序:

  • 在Ajax响应中输出您不需要不需要的public void FuncToCall(object parameter) { var param = (MyCommandParameter)parameter; // do something with param.MyInt and param.MyString }
  • 创建一个将所需数据存储在变量中的函数。
  • 不调用该函数。
  • 在响应中不输出变量的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。