type:"post", //请求方式
url:"**.action", //发送请求地址
data:{ //发送给数据库的数据
radio:
},
//请求成功后的回调函数有两个参数
success:function(result,textStatus){
}
根据你说的情况来看,一楼的思路是不错的。使用数据回传可以实现在页面中无刷新进行更改。你可以这样考虑,在JS中 *** 纵DOM,很容易将一个INPUT对象的type类型从一个BUTTON变成一个TEXT的!变回来也是一样,这个是纯客户端JS代码可以实现的。只是一个问题是:如何将修改后的数据回传到服务器,而是不进行刷新。
这个要用到的一个JS对象是xmlHttpRequest的,这个对象在IE5.0+版本中集成了,但是由于不同版本的不同集成这个名称也是有变化的。同时由于浏览器的不同,对象名称也是不一样的。在Mozilla等非IE中可以使用这样的语句进行建造:new xmlHttpRequest()而在IE中早期版本的构造方式是:new ActiveXObject("Microsoft.XMLHTTP")而最新的版本的构造方式却是:new AxtiveXObjecct("msxml2.XMLHTTP")的方式。要想写出跨浏览器的版本的确是很复杂。
同时由于回传至服务器时还要有服务器文件和配合才行。一楼这些工作已经做好了,但是却没有对回传的数据进行处理。也就是说,一楼所写的bbb.asp的文件是要你自己写出来的!所以它只算给你了一个客户端的代码,且也是全兼容浏览器的。这个已经没有什么可以再说的了!
你现在可以将一楼的代码全拷由后,再写一个bbb.asp的文件,该文件像其他ASP文件一样,不过它的作用是取出客户回调的值后,进行数据库修改。
一楼唯一的缺点就是,如果bbb.asp文件没有对数据进行处理或处理出错时,不能有效地反应到客户端。也就是说你未必知道bbb.asp的工作状态。它若未完成修改呢?这样造成了我们常说的臆想数据。也就是真正的数据没有修改,而使用者以为修改过了!而事实不存在客户端这样的数据。所以我建议还是要加入这类代码的处理。虽然,它的出错率极低。
当然,如果你只是玩玩,无所谓,如果是一个网站项目,做不到这一点,怕是要被解雇的!
所以要么你要专业的人为你做,如果是学习,建议你仔细看一下一楼的代码,一般都是这样的写的!很不错!
.Net方面:asp.net C#:
default.aspx.cs
[WebMethod]
public static string HelloWorld(string name){
//数据 *** 作
return name+"HelloWorld"
}
default.aspx
body:
<input id="name">
<button id="hello">
script:
$(function(){
$("#hello").bind('click',function(){
function SendToEmail() {
$.ajax({
type: "post",
url: "Default.aspx/HelloWorld",
contentType: "application/jsoncharset=utf-8",
data: "{name:'" + $("#name").val() + "'}",
dataType: "json",
success: function (data) {
alert(data.d)
},
error: function (err) {
alert(err.d)
}
})
}
})
})
-----------------------------------------------------------------------
MVC:
HomeController:
[HttpGet]
public ActionResult Hello(string name){
//数据 *** 作
return Json(name+"Hello",JsonRequestBehavior.AllowGet)
}
Index.aspx:
body:
<input id="name">
<button id="hello">
script:
$(function(){
$("#hello").bind('click',function(){
$.get("Home/Index",{name:$('#id').val(),function(data){alert(data)}}
})
java 部分楼下补上
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)