$.ajax({
type: "POST",
url: "路径/xxxx.ashx",
async: false,
data: {
//由于你需要传递很多数据到后台,这里我才用了序列化表单的方式;你也可以自定义一个js类,然后把数据填充,然后转换成json格式的字符串,传递到后台。
data: $("form").serialize()
},
complete: function (XHR, status) {
XHR = null
},
success: function (data) {
data = $.parseJSON(data)
if (data.success == true) {
alert("成功")
}
else{
alert("失败")
}
},
error: function (XHR) {
alert(XHR)
}
})
然后你需要创建一个“一般处理程序”,里面的代码大致如下:
public void ProcessRequest(HttpContext context){
context.Response.ContentType = "text/plain"
//result中就是传递过来的所有数据
string result = context.Request.Form
//数据库 *** 作
context.Response.Write("{success:true}")
}
大致就是如此了。一个ajax请求并没有多么复杂。
JQuery构造一个form对象,然后form.submit()就等于是普通form表单向后台提交了!//创建一个form对象
var form = document.createElement("form")
//将form对象添加到body中
document.body.appendChild(form)
//设置form的属性,等价于<form action="XXX.action" method="post"></form>
form.action = 'QuestionAction!pAsk'
form.method = 'post'
//创建隐藏input
var newInput = document.createElement("input")
newInput.setAttribute("type","hidden")
newInput.setAttribute("name","title")
newInput.setAttribute("value",title)
//将隐藏input添加到form中
form.appendChild(newInput)
//提交form对象
form.submit()
提交的这个地址可以是jsp页面。你可以在jsp里面写访问的方法,而ajax有一个data属性,这个就是你需要传递的值。
也可以是一个类似.d0的后台程序。如果你使用jquery跟struts的结合,你传递的地址是**.do.我自己开发的一个小项目就是利用jquery,struts,hibernate结合做的。
方法很多,其实不止这些。
大致是这个样子:
jQuery.ajax({
type: "post",//也可以是get,这个你应该知道
url: "**.do",//也可以是*.jsp,*.asp等,方法很多
data: {
value : $(this).val()//这个值是你需要传递的,也可以是一个json对象,反正都是键值对,你在.do或者jsp可以得到。
},
success: function(data, textStatus){//回调函数,返回成功调去
},
error: function(){//返回失败调用
alert("错误!")
}
})
其实你可以看下官方文档,查下其他资料
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)