+ -
当前位置:首页 → 问答吧 → 如何连续发送信息给后台

如何连续发送信息给后台

时间:2011-06-09

来源:互联网

代码如下 :

//声明
var tID
var xmlHttp
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
//////////////////////////////////////////////////////////////////////////////////
function tDo(c1)
{
switch(c1){
  case "Index":
SendMsg("GuangGao","Td_GuangGao");
SendMsg("GongGao","Td_GongGao");
//alert ("why");
}
}
//发送函数
function SendMsg(c1,c2)

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="HouTai.php"
url=url+"?go1="+c1
url=url+"&sid="+Math.random()
tID=c2
xmlHttp.onreadystatechange=tBack;
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
//////////////////////////////////////////////////////////////////////////////////
//回调函数
function tBack()
{ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { document.getElementById(tID).innerHTML=xmlHttp.responseText } }
//回调函数

我的问题就是这两句:
1.SendMsg("GuangGao","Td_GuangGao");
2.SendMsg("GongGao","Td_GongGao");

这两名只执行了一句 SendMsg("GongGao","Td_GongGao");
只发送了公告的消息或是后台只处理了公告的信息,
页广告消息SendMsg("GuangGao","Td_GuangGao");没有被发送或后台没有处理

而当我把这两句的位置换一下的时候
系统又只会执行SendMsg("GuangGao","Td_GuangGao");

意思就是说系统只给我处理了后面的一句,前面的一句没有给处理

请问要怎么样才可以两句会能处理呢?

作者: sgzhxfsg   发布时间: 2011-06-09

按理说不应该。你把get换成post试试。
如果不行解决方法很多种,第二个请求可以写在第一个请求的完成函数里;或者两个请求分别用post和get。

作者: brainwkernighan   发布时间: 2011-06-09

引用 1 楼 brainwkernighan 的回复:

按理说不应该。你把get换成post试试。
如果不行解决方法很多种,第二个请求可以写在第一个请求的完成函数里;或者两个请求分别用post和get。


嗯,方法是可以很多种

我改了这一行代码
xmlHttp.open("get",url,true)
改成了
xmlHttp.open("get",url,false)
应该说true是同步,false是异步对吧,

现在我实验通过了
谢谢你的提醒!!

作者: sgzhxfsg   发布时间: 2011-06-09