获得响应时出现问题
Problems getting response
我在尝试执行 ajax 调用时遇到了一些麻烦。它存储在chat.js(添加到html头中),它调用getChatHistory.php
聊天.js:
function getChatHistory(user1, user2){
var response = 'fail';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
response = response + xmlhttp.responseText;
} else {
response = "Error:" + hmlhttp.status;
}
xmlhttp.open('GET', 'getChatHistory.php?user1=' + user1 + '&user2=' + user2);
xmlhttp.send();
}
return response;}
getChatHistory.php:
<?php
echo "the php talks";
?>
索引.html:
<script>
(function(){
alert(getChatHistory('user1', 'user2');
})()
我检查了alert()
,onreadystatechange
事件不起作用。
由于 .open 和 .send 函数位于回调中,因此您没有发送请求,请尝试以下操作:
function getChatHistory(user1, user2){
var response = 'fail';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
response = response + xmlhttp.responseText;
} else {
response = "Error:" + hmlhttp.status;
}
}
xmlhttp.open('GET', 'getChatHistory.php?user1=' + user1 + '&user2=' + user2);
xmlhttp.send();
return response;
}
请注意,由于它是异步请求,您还会遇到返回response
的问题。响应将返回未定义,除非您 a) 使其成为同步请求(通常是一个坏主意)或 b) 设置您的操作,要求在就绪状态完成后触发响应。下面是如何执行此操作的基本示例:
function getChatHistory(user1, user2, onComplete){
var response = 'fail';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
response = response + xmlhttp.responseText;
} else {
response = "Error:" + hmlhttp.status;
}
onComplete(response);
}
xmlhttp.open('GET', 'getChatHistory.php?user1=' + user1 + '&user2=' + user2);
xmlhttp.send();
}
索引.html
<script>
(function(){
getChatHistory('user1','user2', function(resp){
alert(resp);
});
})();
</script>
相关文章:
- RubyonRails-Ajax响应的问题
- Http响应拆分安全问题的XMLHTTPRequest/Response用例的Filter实现
- 响应菜单问题-如何在移动环境中处理HREF和onclick事件
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- 响应出现JSON格式问题
- 位置问题:固定和响应/自适应布局
- 如何解决等待多个请求以javascript发送响应的问题
- 分析JSON响应时出现问题
- Javascript随机名称猜测者:无响应的脚本问题
- 响应式 d3 图形的问题
- 创建响应 html 表时出现的问题
- 绘制图表.js包含 ajax 数据和响应式.一些问题和疑问
- Vis图形库,Twitter引导的响应式设计问题
- 响应问题 JQzoom
- 有关在 $.get() 中获取响应的问题
- Internet Explorer Ajax 调用,缓存响应问题
- 获得响应时出现问题
- 覆盖在“背景大小:包含”上的响应式 DIV - 解决警报触发的问题
- XMPP BOSH 响应问题
- 2个问题-响应式设计与Bootstrap &;固定了页面底部的箭头