非常奇怪的问题。当前页面
productdetail.aspx页面
<input name="Input" type="button" value="收藏产品" onclick="GetFavorites();" /> function GetFavorites()
{
debugger;
var scaurl= location.href;
var scaid=requestHtml(1);
if(scaid=="")
{
alert('参数信息不完整,无法收录信息');
return;
}
else
{
var urlaspx ="/js/FavoritesAjax.aspx?id="+scaid+"&url="+scaurl+"&Time="+Math.random();
var objHttp=CreateXmlhttp();
objHttp.open("GET", urlaspx, true);
objHttp.setRequestHeader("Cache-Control","no-cache");
objHttp.send(null);
objHttp.onreadystatechange =function(){
var url =location.href;
var loginurl="/User/UserLogin.aspx?ReturnUrl="+escape(url); if (objHttp.readyState == 4 && objHttp.status==200)
{
var result=objHttp.responseText; //调试脚本的时候,发现这个输出竟然是整个页面的html代码
if(result=="AddOk")
{
alert('该商机信息已成功加入您的收藏列表中');
}
else if(result=="UnLogin")
{
if(confirm('本次操作要求您未登录前,不能收藏该\n产品,是否继续登录?'))
{
window.location.href=loginurl;
}
else
{
return false;
}
}
else if(result=="PrepFailed")
{
if(confirm('很抱歉,由于预读取收藏信息错误。您对本\n页面信息的收藏失败。尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
}
else if(result=="AddError")
{
if(confirm('很抱歉,由于记录该商机信息发生一项错误。您对\n本页面信息的收藏失败。尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
}
else if(result=="ExistFavorties")
{
alert('您已收录过该信息');
}
else if(result=="LimitedCount")
{
if(confirm('很抱歉,您的收藏个数已达系统\n要求最大限度.尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
} }
} }}//FavoritesAjax.aspx.cs部分代码
if (!Page.IsPostBack)
{
if (Request.QueryString["id"] != null && Request.QueryString["url"] != null )
{
int intID = CheckTypeCode.GetInt(Request.QueryString["id"].ToString());
string strUrl = HttpContext.Current.Request.UrlReferrer.PathAndQuery; if (intID!=0)
{
Response.Write(AddFavorites(intID, strUrl));
} } } Response.End();========================
问题现象是,我在FavoritesAjax.aspx.cs中设立了各个断点,但Vs2005调试的时候,进不去,也就是好像没执行一样。
另外调试脚本的时候,发现objHttp.responseText竟然是productdetail.aspx的整个页面源html代码
productdetail.aspx页面
<input name="Input" type="button" value="收藏产品" onclick="GetFavorites();" /> function GetFavorites()
{
debugger;
var scaurl= location.href;
var scaid=requestHtml(1);
if(scaid=="")
{
alert('参数信息不完整,无法收录信息');
return;
}
else
{
var urlaspx ="/js/FavoritesAjax.aspx?id="+scaid+"&url="+scaurl+"&Time="+Math.random();
var objHttp=CreateXmlhttp();
objHttp.open("GET", urlaspx, true);
objHttp.setRequestHeader("Cache-Control","no-cache");
objHttp.send(null);
objHttp.onreadystatechange =function(){
var url =location.href;
var loginurl="/User/UserLogin.aspx?ReturnUrl="+escape(url); if (objHttp.readyState == 4 && objHttp.status==200)
{
var result=objHttp.responseText; //调试脚本的时候,发现这个输出竟然是整个页面的html代码
if(result=="AddOk")
{
alert('该商机信息已成功加入您的收藏列表中');
}
else if(result=="UnLogin")
{
if(confirm('本次操作要求您未登录前,不能收藏该\n产品,是否继续登录?'))
{
window.location.href=loginurl;
}
else
{
return false;
}
}
else if(result=="PrepFailed")
{
if(confirm('很抱歉,由于预读取收藏信息错误。您对本\n页面信息的收藏失败。尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
}
else if(result=="AddError")
{
if(confirm('很抱歉,由于记录该商机信息发生一项错误。您对\n本页面信息的收藏失败。尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
}
else if(result=="ExistFavorties")
{
alert('您已收录过该信息');
}
else if(result=="LimitedCount")
{
if(confirm('很抱歉,您的收藏个数已达系统\n要求最大限度.尝试将本信息\n加入您的系统收藏夹吗?'))
{
window.external.AddFavorite(url,'商机信息-----中国锯工业网');
}
} }
} }}//FavoritesAjax.aspx.cs部分代码
if (!Page.IsPostBack)
{
if (Request.QueryString["id"] != null && Request.QueryString["url"] != null )
{
int intID = CheckTypeCode.GetInt(Request.QueryString["id"].ToString());
string strUrl = HttpContext.Current.Request.UrlReferrer.PathAndQuery; if (intID!=0)
{
Response.Write(AddFavorites(intID, strUrl));
} } } Response.End();========================
问题现象是,我在FavoritesAjax.aspx.cs中设立了各个断点,但Vs2005调试的时候,进不去,也就是好像没执行一样。
另外调试脚本的时候,发现objHttp.responseText竟然是productdetail.aspx的整个页面源html代码
解决方案 »
- 如何通过程序给Menu增加子菜单?
- 问一下 linq to xml的简单问题
- abis权限系统三层下载
- 抓取网页内容怎么不好用啊 大家看下这个代码
- 想请问string aaa="";和string aaa=new string("");的区别
- win2003 iis6.0下访问时,第1次访问老是无法访问该网页, ping 一下再访问就可以了,请问怎么解决
- ROWCOMMAND取不到datakey
- .NET显示图片和文档问题(很难)
- SOS!用C#做毕业设计最好做个什么类型的网站系统???????
- 如何取web.config中的个值?(请用C#答)
- 这种情况下,不能编译,郁闷,如何调用动态加载的控件里的方法?
- 数据库操作框架
ajaxpro.2框架我也有用过,但个人感觉这个框架不怎么好。特别是在一些东西上我发现调试很困难。老是调试到底层里面去。根本就很难看答案。
微软的ajax.net也是有用过。但不适合我这个场合。您对xmlhttprequest的ajax了解吗?能针对这个问题帮分析好吗?谢谢
{
Response.Write(AddFavorites(intID, strUrl));
Response.End();
return;
}
{
Response.Clear();
if (!Page.IsPostBack)
{
if (Request.QueryString["id"] != null && Request.QueryString["url"] != null)
{
int intID = CheckTypeCode.GetInt(Request.QueryString["id"].ToString());
string strUrl = HttpContext.Current.Request.UrlReferrer.PathAndQuery; if (intID != 0)
{
Response.ContentType = "text/html";
Response.Write(AddFavorites(intID, strUrl));
Response.Flush();
Response.End();
}
}
}
}
公布下答案共享下:
var scaurl= location.href;
var urlaspx ="/js/FavoritesAjax.aspx?id="+scaid+"&url="+scaurl+"&Time="+Math.random();
objHttp.open("GET", urlaspx, true); 那调试过程中发现---
urlaspx="/js/Favoriteajax.aspx?id=67&url=http://localhost:85/Trade/TradeDetail_57605_2.shtml&Time=0.9839"
确实是这个urlaspx 引起的问题
{
if (Request.QueryString["id"] != null && Request.QueryString["url"] != null )
{
} }
Response.End();
===========
ajax发送的请求不是回滚