ajax调用当前页面的方法

nattystyle 2012-09-18 11:30:10
用$.ajax,就调用当前的页面,代码怎么写?
...全文
486 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiaoPengJay 2012-11-28
  • 打赏
  • 举报
回复
刚才说要.net4.0的版本不对; 要3.0以上的版本才能正常访问
JiaoPengJay 2012-11-28
  • 打赏
  • 举报
回复
不知道你这个问题解决了没; 我这有一方法
        function show() {
            $.ajax({
                url: "Default.aspx/get",
                type: "post",
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                success: function (msg) {
                    alert(msg);
                },
                error: function (err) {
                    alert("error");
                }
            });
        }
我这里用到的是json数据类型;你也可以使用text的,看你的情况而定 get就是Default.aspx.cs中的方法
    
//要引用using System.Web.Services;
[WebMethod]
    public static Hashtable get()
    {
        Hashtable ht = new Hashtable();
        ht.Add("name", "jp");
        ht.Add("hello", "to");

        return ht;
    }
后台代码只能是public修饰符的并且是静态的;我这里返回类型是hashtable类型的因为我前台用的是json你也可以自己修改 还有最重要的一点就是;我自己也在测试只有.net4.0或者4.0以上的版本才能正常访问;如何是4.0以下的版本那就访问出错前台js会报error,这点具体也不清楚怎么回事; 在这希望能帮助需要的朋友
lzh_me 2012-11-28
  • 打赏
  • 举报
回复
URL属性,这个就看你的URL指向哪个方法了,所以根本不区分是当前页面的后台方法还是什么其它的。只要URL能够访问,就会指向这个URL, ajax中的 async参数是指定异步提交还是同步提交:为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
泡泡鱼_ 2012-09-19
  • 打赏
  • 举报
回复
你有两种办法
1:使用6楼朋友的方法,通过特定的参数来调用方法,并返回执行结果
2:将ajax交由httpHandlers统一处理,然后也是通过特定参数来执行特写方法

如果你只是有那么一两个地方,不想麻烦的话,就使用第1种方法即可,如果有大量的ajax请求的,那么第2种方法更好
nattystyle 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

你的后台是asp程序还是asp.net?
[/Quote]

是asp.net的
未知数 2012-09-19
  • 打赏
  • 举报
回复
ajax只负责从客户端发出一个http请求,至于你要调用服务器的什么函数,需要你在服务器处理该请求
一般做法就是请求发出时附加一些参数,用来标识请求的内容,后台根据参数判断是什么请求,然后调用相应函数,得到结果后用response.write发送给客户端,在ajax的回调函数中就可以获得返回值了
xuzuning 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
可能是我没有描述清楚,应该是ajax调用当前页面的后台方法[/Quote]
向后台接口传递方法名和参数,接受和处理返回的结果
如此而已
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
你的后台是asp程序还是asp.net?
nattystyle 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 5 楼 的回复:
Sorry,提问时候漏写两个字:

用$.ajax,就调用当前的页面<方法>,代码怎么写?


愣是没看明白你的意思

是“怎么样调用当前页面”还是“怎样去调用当前页面中的前端js定义的函数”还是像我楼上说的那样,ajax请求时后台程序如何调用指定的方法

我咋感觉问哪个都是没有意义的呢???
[/Quote]

可能是我没有描述清楚,应该是ajax调用当前页面的后台方法
licip 2012-09-18
  • 打赏
  • 举报
回复
为什么要调用当前页面,你都进在当前页面了,干嘛还要多此举呀。
泡泡鱼_ 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
Sorry,提问时候漏写两个字:

用$.ajax,就调用当前的页面<方法>,代码怎么写?
[/Quote]

愣是没看明白你的意思

是“怎么样调用当前页面”还是“怎样去调用当前页面中的前端js定义的函数”还是像我楼上说的那样,ajax请求时后台程序如何调用指定的方法

我咋感觉问哪个都是没有意义的呢???
Go 旅城通票 2012-09-18
  • 打赏
  • 举报
回复
加一个特殊的参数,以区别普通访问还是ajax访问
index.asp
<%
if request.querystring("ajax")="1" then'''''''''''
response.write writenow
response.end''''''''''
end if

function writenow
writenow=now
end function

%>
<script>
$.ajax({
url:'index.asp'
,type:'GET'
,cache:false
,data:'ajax=1'/////////////
,success:function(d){alert(d)}
,failure:function(xhr){alert('发生错误:'+xhr.responseText)}
})
</script>
nattystyle 2012-09-18
  • 打赏
  • 举报
回复
Sorry,提问时候漏写两个字:

用$.ajax,就调用当前的页面<方法>,代码怎么写?
Bill_YING 2012-09-18
  • 打赏
  • 举报
回复
var mydata = "";
$.ajax({
type: "post",
url: "./handlers/DataPilotHandler.ashx",
async: false,
//cache: false,
dataType: "text",
success: function(data) {
mydata= eval("("+data+")");
},
error:function(){
mydata="";
alert("访问DataPilotHandler.ashx出现错误");
}
});
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
window.location.href就是当前页面啊
nattystyle 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

为什么要调用当前页面,你都进在当前页面了,干嘛还要多此举呀。
[/Quote]

客户端调用,这样点完按钮可以不刷新

52,804

社区成员

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

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