多几行代码就不能进入调试,而且现在查询不出数据。

xiaoqiuwyh 2008-11-24 09:38:56
一个信息的查询显示,在前台页面是这样写的:

//取得数据列表
function GetListData(CurrentIndex){
var objXmlDoc = "<root><record><Flag>GetMsgList</Flag>";

//检索条件构造
var objCondtions = "";
var objselectType = GetddlValue("selectType");
var objtxtStartDate = GettxtValue("txtStartDate");
var objtxtEndDate = GettxtValue("txtEndDate");

objCondtions += ("<Nodes>" + CurrentIndex + "</Nodes>");//取得当前页

objCondtions += ("<Nodes>" + objselectType + "</Nodes>");//收发类别
objCondtions += ("<Nodes>" + objtxtStartDate + "</Nodes>");//查询的开始日期
objCondtions += ("<Nodes>" + objtxtEndDate + "</Nodes>");//查询的结束日期

objXmlDoc += (objCondtions + "<Return></Return></record></root>");

var objTotalCount = 0;//总记录数
var objTotalPage = 0; //总页数

var objResult = SendHttp(objXmlDoc, "ASNRequest.aspx");
if(objResult != null && objResult.length > 0){
document.getElementById('divList').innerHTML = objResult.split('|')[0];
objTotalCount = objResult.split('|')[1];
objTotalPage = objResult.split('|')[2];
if(objTotalPage <= 0)
CurrentIndex = 0;
document.getElementById('spanIndex').innerHTML = "【当前页: " + CurrentIndex + "/"+ objTotalPage +" 总记录数: "+ objTotalCount +"】";

document.getElementById('hidCurrentIndex').value = CurrentIndex;
document.getElementById('hidTotalCount').value = objTotalPage;
} else {
document.getElementById('divList').innerHTML = "没有检索到相关数据...";
document.getElementById('spanIndex').innerHTML = "【当前页: 0/0 总记录数: 0】";
document.getElementById('hidCurrentIndex').value = 0;
document.getElementById('hidTotalCount').value = 0;
}
}


然后进入一个ajax的js文件,其中SendHttp方法为:

//数据串格式:var objXmlDoc = "<root><record><Flag>取可以区别开的字符串(例:GetAddressList)</Flag><Nodes></Nodes><Return></Return></record></root>";
function SendHttp(args, postUrl){
var objData;
var objXmlDoc = args;
if(objXmlDoc == null || objXmlDoc.replace(/\s*/, "").length <= 0){
return false;//空数据不提交
}

try{
var objXMLHTTP = new XMLHttpRequest();
objXMLHTTP.open("POST", postUrl, false);
objXMLHTTP.send( objXmlDoc);
objData = objXMLHTTP.responseText;
} catch(e) {}
return objData;
}


然后ASNRequest.aspx后台代码:


XmlNode retXmlNode;//请求返回值

protected void Page_Load(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument ( );

xmlDoc.Load(Request.InputStream);
XmlNode xmlNode = xmlDoc.SelectSingleNode("//root//record//Flag");//取标识节点
XmlNodeList xmlNodeList = xmlDoc.SelectNodes("//root//record//Nodes");//业务节点
retXmlNode = xmlDoc.SelectSingleNode("//root//record//Return");

//解析
ReadXmlDoc(xmlNode.InnerText, xmlNodeList);//把这行和下面的方法注释起来就可以进入调试,否则就无法进入调试
}

#region XmlDoc 解析
/// <summary>
/// 解析请求的Xml串, 并执行相关的业务处理
/// </summary>
/// <param name="flag">业务标识</param>
/// <param name="nodes">参数</param>
/// <returns></returns>
private void ReadXmlDoc(string flag, XmlNodeList nodes)
{
string strResult = retXmlNode.InnerText;

switch (flag)
{
case "IsCheckCode":
strResult = IsCheckCode(nodes.Item(0).InnerText);
break;
case "GetMsgList":
strResult = GetMsgList(nodes);
break;
case "DeleteMsg":
strResult = DeleteMsg(nodes.Item(0).InnerText);
break;
}

//回写数据
Response.Charset = "gb2312";
Response.HeaderEncoding = Encoding.GetEncoding("gb2312");
Response.Write(strResult);
Response.End();
}
#endregion


我是用附加到进程的方法进入调试的,而且现在查询不出数据来,后面的显示数据代码我没帖,关键是这部分。为什么就多几行代码就进入不了调试呢?请教高手!
...全文
70 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kindwell 2008-11-24
  • 打赏
  • 举报
回复
要是其他都一样的话……
那你有没有确认一下各个文件的存储格式是否为你所需要的?比如是ANSI或者UTF-8。
xiaoqiuwyh 2008-11-24
  • 打赏
  • 举报
回复
哪位大侠给我再看看呀!
xiaoqiuwyh 2008-11-24
  • 打赏
  • 举报
回复
那个不是必须有,我在同一个项目里还有另外一个数据查询,也没有你说的这部分,跟这个写的一模一样,就可以查出数据和调试,这个就不行,所以非常奇怪,2个功能完全一样,就是一些什么参数名呀不一样,这个就查不出数据来。也不能调试!
kindwell 2008-11-24
  • 打赏
  • 举报
回复
你的ajax好像不全啊,一些诸如onreadyStateChange和xmlHttp.readyState == 4以及xmlHttp.status == 200这些你都没有啊。
xiaoqiuwyh 2008-11-24
  • 打赏
  • 举报
回复
试了,不行,还是不能调试!
kindwell 2008-11-24
  • 打赏
  • 举报
回复
把objXMLHTTP.open("POST", postUrl, false);改成objXMLHTTP.open("POST", postUrl, true);试试。
xiaoqiuwyh 2008-11-24
  • 打赏
  • 举报
回复
断点加了,不起作用呀,就是utf-8
hotblood003 2008-11-24
  • 打赏
  • 举报
回复
Response.ContentType = "text/xml;";
Response.Expires = 0;
Response.Flush();
Response.End();
hotblood003 2008-11-24
  • 打赏
  • 举报
回复
在javascript代码里加debugger命令呢,后台加断点应该可以调试吧

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧