JS AJAX前台如何给后台类的函数传递参数,jsajax
JS AJAX前台如何给后台类的函数传递参数,jsajax
将普通页面的方法公布为WebMethod,以Javascript形式访问。
1 方法要public static修饰,返回类型最好是string。
2 方法前添加[WebMethod] 特性。
3 Client端访问时要使用Post方法,和Json作为数据形式进行交互。否则会整页HTML返回。
4 在jQuery访问时,回调中的data.d才时真正的返回内容。
5 访问URL为: http://abc.com/abc.aspx/GetTime 如有个GetTime的公共静态方法。
例:
abc.aspx
[WebMethod] public static string GetTime() { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); }
---------------
脚本(以jQuery为例调用)
$.ajax({ url:url, method:"post", dataType:"json", contentType:"application/json; charset=UTF-8", success: function(data){ $("#id").html(data.d); //见第3点 } });
在前台加两个隐藏域:
<input type="hidden" runat="server" id="hdText1" />
<input type="hidden" runat="server" id="hdText2" />
你既然会在前台用js获取输入框的值,那是一定会知道如何将获取到的值存到两个隐藏域中去的吧!
var hdText1 = document.getElementById("hdText1");
var hdText2 = document.getElementById("hdText2");
然后后台的接值的操作你直接从这两个隐藏域当中取就可以了。
protected void btnSubmit_Click(object sender, EventArgs e)
{
……
hdText1.Text = "获取的值1";
hdText1.Text = "获取的值2";
……
}
呵呵,试试看哦!
这是我写的批量删除的一段前端代码
//删除按钮
$(":button[value=删除]").click(function(){
var idlist="";
var idCount=0;
$(":checkbox[checked]").each(function(){
idlist = idlist+$(this).val()+',';
idCount++;
});
if(idCount==0){
alert("请选择删除对象!");
return ;
}
var r=confirm("确认删除"+idCount+"个联系人?");
if (r!=true)
{
idlist="";
return;
}
$(":checkbox[checked]").each(function(){
$("tr[id="+$(this).val()+"]").remove();
});
$.post(
"<c:url value='/Controller/DeleteContacter'/>",
{ids:idlist},
function(data){
var s = "删除数据"+idCount+"条,成功"+data+"条";
alert(s);
window.location.href="<c:url value ='/Controller/FindAll!findAll?page=' />"+"${nowallpage}";
}
);
});
});
这是action部分代码
private String ids;
private ContacterService service;
private InputStream inputStream;
public String execute(){
HttpSession session = request.get......余下全文>>