ajax status 为0 的问题

walkertoo 2014-06-25 10:06:17
这是ajax.js
function ajax(url, onsuccess) {
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open("POST", url, true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200 )
{
onsuccess(xmlhttp.responseText);
}
else {
alert("AJAX服务器返回错误!" );
}
}
}

xmlhttp.send();
}


这是在html中的应用
ajax("BlogCommentAjax.ashx?Action=PostComment&BlogId=$Data.Blog.Id&Name="+name+"&Email="+email+"&Website="+website+"&Subject="+subject, function (txt) {
if (txt == "ok") {
document.getElementById("commentName").value = '';
document.getElementById("commentEmail").value = '';
document.getElementById("commentWebsite").value = '';
document.getElementById("commentSubject").value = '';
LoadComments();
}
else if (txt == "error") {
alert("您提交的数据有错误!");
}
else {
alert("服务器返回未知数据:" + txt);
}
});

这是上边请求的ashx页面
 string action=context.Request["Action"];
if (action == "PostComment")
{

long blogid = Convert.ToInt64(context.Request["BlogId"]);
string name=context.Request["Name"];
string email=context.Request["Email"];
string website=context.Request["Website"];
string subject=context.Request["Subject"];
if (name.Contains(">") || name.Contains("<") || email.Contains("<") || email.Contains(">") || website.Contains("<") || website.Contains(">") || subject.Contains("<") || subject.Contains(">"))
{
context.Response.Write("error");
return;
}
SqlHelper.ExecuteNonQuery("insert into BlogComments(BlogId,Name,Email,Website,Subject,CreateDateTime) values(@BlogId,@Name,@Email,@Website,@Subject,getdate())",new SqlParameter("@BlogId",blogid),new SqlParameter("@Name",name),new SqlParameter("@Email",email),new SqlParameter("@Website",website),new SqlParameter("@Subject",subject));
context.Response.Write("ok");
}

在使用的时候,提示AJAX服务器返回错误!,请问这是为什么?
...全文
430 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
URL不正确, name, email,website 等项都 encodeURIComponent(); 参见: http://www.w3school.com.cn/jsref/jsref_encodeURIComponent.asp
Go 旅城通票 2014-06-26
  • 打赏
  • 举报
回复
ajax("BlogCommentAjax.ashx?Action=PostComment&BlogId=$Data.Blog.Id&Name="+name blogid参数有问题吧。。。你用的什么框架?如果是要asp.net解析执行的,你的这个代码不能放到js文件里面,要用script标签放到aspx页面里才能解析 自己看客户端的源代码红色的部分是数字没有,不是你的 long blogid = Convert.ToInt64(context.Request["BlogId"]);这句代码就报错了

52,797

社区成员

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

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