【问题标题】:How can I get the response from an Ajax request?如何从 Ajax 请求中获得响应?
【发布时间】:2013-03-22 16:38:33
【问题描述】:

我试过这段代码:

var xmlHttp = new XMLHttpRequest();

function activecomm(comm_id,a_link_id)
{
    var postComm = "id="+encodeURIComponent(comm_id);
    var url = 'comments_mgr_proccesser.php'; 
    xmlHttp.open("POST", url, true);
    xmlHttp.onreadystatechange = handleInfo(a_link_id);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", postComm.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(postComm);
}

function handleInfo(a_link_id)
{
    if(xmlHttp.readyState == 1)
    {
        document.getElementById("commactiveresult").innerHTML = 'loading ..';
    }
    else if(xmlHttp.readyState == 4)
    {
        var response = xmlHttp.responseText;
        document.getElementById("commactiveresult").innerHTML = response;
    }
}

readyState == 1 时,commactiveresult 元素的内容被更新,但当readyState == 4 时,同一元素中没有显示任何内容。

请问有谁知道是什么问题?

【问题讨论】:

  • 在'cmets_mgr_proccesser.php'中是:comments SET c_active=1 WHERE c_id=$post_id") 或死 ("خطأ في الاستعلام التفعيل"); if(isset($active_comm)){ echo "تم التفعيل"; }else{ echo "خطأ في التفعيل"; } mysql_close($link); ?>
  • 应该编辑成问题。

标签: javascript ajax xmlhttprequest


【解决方案1】:

您正在调用handleInfo 函数,而不是分配就绪状态处理程序。试试

xmlHttp.onreadystatechange = function (){
    handleInfo(a_link_id);
};

【讨论】:

  • @user2192164 如果有效,请不要忘记将其标记为您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-15
  • 2023-03-27
  • 2013-04-02
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多