Jquery ajax 调用aspx后台方法

问题描述

前台functionUoloadData(loginName,fraction,date){$.ajax({type:"Post",url:"Default.aspx/InsertData",data:"{'loginName':'"+loginName+"','fraction':'"+fraction+"','date':'"+date+"'}",datatype:"json",contentType:"application/json;charset=utf-8",success:function(result){alert(result);}});}后台[WebMethod]publicstaticstringInsertData(stringloginName,intfraction,stringdate){try{OLEDataProcessorole=newOLEDataProcessor();ole.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Data.accdb;PersistSecurityInfo=True";stringsql="insertintoUploadData(LoginName,Fraction,UploadDate,CreateDate)values('"+loginName+"',"+fraction+",'"+date+"',Now())";intcount=ole.Execute(sql);returncount>0?"0":"1";}catch{return"2";}}为什么老返回当前页面的内容啊?

解决方案

解决方案二:
我新学asp.net,看不懂url:"Default.aspx/InsertData",这是什么
解决方案三:
你都没有输出流,获取到得肯定是页面的内容啊,不是返回的数据就是输出流的哈
解决方案四:
success:function(result){alert(result.d);}

解决方案五:
引用1楼dahongsong的回复:

我新学asp.net,看不懂url:"Default.aspx/InsertData",这是什么ajax要调用的后台代码...

为什么总感觉LZ的AJAX写的那么的纠结呢...LZ所指的"为什么老返回当前页面的内容啊"是不是指的是页面显示的都是些json数据,如果是的话是因为你datatype:"json",contentType:"application/json;charset=utf-8",这里都已经把他定义成json了他返回的显示给你看的就是返回的json数据
解决方案六:
参考下这里哦http://msdn.microsoft.com/en-us/library/bb515101.aspx喵!
解决方案七:
正常地、适当地响应ajax,使用ashx是正好的。如果你使用aspx,不但要额外地处理整个Page对象创建和生成过程,而且还要写代码Response.Clear();

来吧页面内容杀掉,典型地必须杀鸡取卵才能输出那一点数据营养。如果你使用ashx来响应ajax请求,则是非常轻量级地没有巨大的资源浪费。
解决方案八:
引用6楼sp1234的回复:

正常地、适当地响应ajax,使用ashx是正好的。如果你使用aspx,不但要额外地处理整个Page对象创建和生成过程,而且还要写代码C#codeResponse.Clear();来吧页面内容杀掉,典型地必须杀鸡取卵才能输出那一点数据营养。如果你使用ashx来响应ajax请求,则是非常轻量级地没有巨大的资源浪费。

顶SP大哥!!!我这里有段代码范例://登陆操作functionloginSys(username,password){$.ajax({type:"POST",//dataType:"json",//cache:true,url:"DoLogin.ashx?Method=LoginState",data:{username:username,password:password},success:function(msg){if(msg=="S"){alert("登陆成功");window.location.href="Index.aspx";//alert("登陆成功");}if(msg=="F"){alert("用户不存在");}}});}</script>

ashx文件usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Reflection;namespaceXQH.EasyUi.Web{///<summary>///DoLogin的摘要说明///</summary>publicclassDoLogin:IHttpHandler,IRequiresSessionState{HttpRequestRequest;HttpResponseResponse;HttpSessionStateSession;HttpServerUtilityServer;HttpCookieCookie;publicvoidProcessRequest(HttpContextcontext){Request=context.Request;Response=context.Response;Session=context.Session;Server=context.Server;stringmethod=Request["Method"].ToString();//对应ajax方法的url参数MethodInfomethodInfo=this.GetType().GetMethod(method);//methodInfo.Invoke(this,null);}///<summary>///登陆///</summary>publicvoidLoginState(){stringusername=Request["username"].ToString();//"admin";stringpassword=Request["password"].ToString();//"123";stringsql="selectcount(ID)from[SysAdmin]whereLoginID='"+username+"'andLoginPWD='"+password+"'";intflag=Convert.ToInt32(App.DAL.SqlHelper.GetScalar(sql));if(flag>0){introleId=1;Cookie=newHttpCookie("RoleInfo");Cookie["roleId"]=roleId.ToString();Cookie.Expires=DateTime.Now.AddMonths(1);Response.Cookies.Add(Cookie);Response.Write("S");//输出流}else{Response.Write("F");//输出流}}publicboolIsReusable{get{returnfalse;}}}}

解决方案九:
学习了,还要使用ashx文件呀!
解决方案十:
用Jquery的ajax貌似没楼主那么复杂吧,它返回的是页面内容,最后要Response.Write,至于用ashx还是aspx就看你自己吧
解决方案十一:
最后用这个返回数据HttpContext.Current.Response.Write("2");HttpContext.Current.Response.End();
解决方案十二:
建議樓主:用一個ashx文件,然後獎業務邏輯來反射,調用。這樣的話,一個ashx文件就搞定了,用取來很好維護的
解决方案十三:
前台functionUoloadData(loginName,fraction,date){$.ajax({type:"Post",url:"Default.aspx/InsertData",data:"{'loginName':'"+loginName+"','fraction':'"+fraction+"','date':'"+date+"'}",datatype:"json",contentType:"application/json;charset=utf-8",success:function(count){alert(count);}});}后台[WebMethod]publicstaticvoidInsertData(stringloginName,intfraction,stringdate){OLEDataProcessorole=newOLEDataProcessor();ole.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Data.accdb;PersistSecurityInfo=True";stringsql="insertintoUploadData(LoginName,Fraction,UploadDate,CreateDate)values('"+loginName+"',"+fraction+",'"+date+"',Now())";intcount=ole.Execute(sql);Response.Write(count);}}

解决方案十四:
前台functionUoloadData(loginName,fraction,date){$.ajax({type:"Post",url:"Default.aspx/InsertData",data:"{'loginName':'"+loginName+"','fraction':'"+fraction+"','date':'"+date+"'}",datatype:"json",contentType:"application/json;charset=utf-8",success:function(count){alert(count);}});}后台[WebMethod]publicstaticvoidInsertData(stringloginName,intfraction,stringdate){OLEDataProcessorole=newOLEDataProcessor();ole.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Data.accdb;PersistSecurityInfo=True";stringsql="insertintoUploadData(LoginName,Fraction,UploadDate,CreateDate)values('"+loginName+"',"+fraction+",'"+date+"',Now())";intcount=ole.Execute(sql);Response.Write(count);}
解决方案十五:
引用6楼sp1234的回复:

正常地、适当地响应ajax,使用ashx是正好的。如果你使用aspx,不但要额外地处理整个Page对象创建和生成过程,而且还要写代码C#codeResponse.Clear();来吧页面内容杀掉,典型地必须杀鸡取卵才能输出那一点数据营养。如果你使用ashx来响应ajax请求,则是非常轻量级地没有巨大的资源浪费。

学习学习
解决方案:
不好意思,还漏了句前台functionUoloadData(loginName,fraction,date){$.ajax({type:"Post",url:"Default.aspx/InsertData",data:"{'loginName':'"+loginName+"','fraction':'"+fraction+"','date':'"+date+"'}",datatype:"json",contentType:"application/json;charset=utf-8",success:function(count){alert(count);}});}后台[WebMethod]publicstaticvoidInsertData(stringloginName,intfraction,stringdate){OLEDataProcessorole=newOLEDataProcessor();ole.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Data.accdb;PersistSecurityInfo=True";stringsql="insertintoUploadData(LoginName,Fraction,UploadDate,CreateDate)values('"+loginName+"',"+fraction+",'"+date+"',Now())";intcount=ole.Execute(sql);Response.Write(count);Response.Write(end());}}
解决方案:
15楼写的很对了,内容有点多,我划下重点。jqueryajax执行aspx.cs里面的方法时有以下几个要点$.ajax({type:"Post",//Post方式必须contentType:"application/json;charset=utf-8",//必须,楼主描述问题所在url:About.aspx/TestAjax,data:"{'id':'100','name':'vincent'}",//传参success:function(data){alert(data.d);}});
解决方案:
在后台代码中,简单写,如下usingSystem.Web.Services;[WebMethod]publicstaticstringTestAjax(stringid,stringname){JavaScriptSerializerserial=newJavaScriptSerializer();stringvalue="helloworld!";returnserial.Serialize(value+id+name);//序列化返回json,前面可以alert出来}在static方法里面是不能使用Response的
解决方案:
后台返回的值Response.write()就可以
解决方案:
ashx正解!
解决方案:
.net2.0不能真接用,.net3.5没问题
解决方案:
还是ashx简单好用
解决方案:
response.write(result);response.end();
解决方案:
使用Response.Write输入想要获取的内容
解决方案:
不懂为什么要用ajax··aspx了用ajax干嘛··
解决方案:
jQuery与ashx相关:

时间: 2024-09-23 07:31:52

Jquery ajax 调用aspx后台方法的相关文章

jquery异步调用页面后台方法&amp;amp;#8207;(asp.net)_jquery

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqueryCSMethodForm.aspx.cs" Inherits="JQuerWeb.JqueryCSMethodForm" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&

jquery ajax调用新浪微博内容方法

现在流行的东西微博是网上玩的比较火的东西,今天我们就来利用新浪app来实现获取指定微博账户的微博内容记录方法.希望给大家帮助. <html> <head> <title>新浪微博APP开发应用示例之获取指定微博账户的微博内容记录</title> <script type="text/网页特效" src="http://js.wcdn.cn/t3/platform/js/api/wb.js" charset=&qu

jQuery AJAX实现调用页面后台方法_AJAX相关

本文实例为大家分享了jQuery AJAX调用页面后台方法,供大家参考,具体内容如下 1.新建demo.aspx页面. 2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 1).无参数的方法调用. 大家注意了,这个版本不能低于.net framework 2.0.2.0已下不支持的. 后台代码: [WebMethod] public static string SayHello() { return "Hello Ajax!&q

jQuery AJAX实现调用页面后台方法

本文实例为大家分享了jQuery AJAX调用页面后台方法,供大家参考,具体内容如下 1.新建demo.aspx页面. 2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 1).无参数的方法调用. 大家注意了,这个版本不能低于.net framework 2.0.2.0已下不支持的. 后台代码: [WebMethod] public static string SayHello() { return "Hello Ajax!&q

jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)_jquery

在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下WebMethod方法的用法 1.修饰符主要用public static修饰 2.方法前面加上[WebMethod]属性表明这是WebMethod方法 3.前台html页面(Client端)访问时要使用post方法,和后台.cs文件进行数据交互,否则会返回整个html页面. 4.当后台页面返回数据后

ASP.NET中JQuery+AJAX调用后台_实用技巧

做订餐系统手机端时,遇到一个问题,实现登录功能时,我要调用后台的方法进行验证和判断.我们应用的是webForm进行开发的,正常情况下只要绑定按钮的方法,前后台对应就可以实现.但是,手机端应用MUI样式之后,就不适用于这种情况了.基于这个问题,我们使用JQuery+Ajax技术,其实MUI中也自带ajax技术.  实现过程: webForm代码:       function login() { var name = document.getElementById("username")

jQuery异步调用页面后台实例分析

jQuery调用页面后台方法‏如下: 给出了两个简单的例子,无参数的和有参数的,返回的都是json数据. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqueryCSMethodForm.aspx.cs" Inherits="JQuerWeb.JqueryCSMethodForm" %>   <!DOCTYPE html PUBLIC &

jquery单击事件执行后台方法提前执行的问题

问题描述 jquery单击事件执行后台方法提前执行的问题 我在主页末尾添加javascript代码如下: $(function(){ $(".fouct1:first").click(function(){ var a=<%=ServerIpAdd()%>; //执行一个后台方法 }); }); 可是,每次刷新页面就执行了ServerIpAdd()方法,而不是单击事件后执行ServerIpAdd()方法(记录单击特定链接的次数),请高手提供一个好的方法,实现单击某个链接以后

search-关于ajax调用后控制器方法问题!

问题描述 关于ajax调用后控制器方法问题! $("#Sea").click(function(){ var Search = $("#Search").val(); alert(Search); $.ajax({ type: "get", url: "@SiteConfig.ProductSite/ProductList.aspx", jsonpCallback: "__ProductList__", /