jquery ajax $post 为什么调用不到后台方法

时间:2021-09-24 10:28:25
jquery: 
       function sq_Click() {
            $.ajax({
                //要用post方式   
                type: "Post",
                //方法所在页面和方法名
                url: "xia_advise.aspx/GetDataSet",
                dataType: "text", 
                success: function(data) {
                    //返回的数据用data.d获取内容  
                    alert(data.d);
                },
                error: function(err) {
                    alert('ffff');
                }
            }); 

        }

后台:
        [WebMethod]
        public static string GetDataSet()
        {
            return "abc";
        }

16 个解决方案

#1


各位麻烦看下,我这里是准备直接调用GetDataSet()方法,但是它走的是pageload方法,没走GetDataSet()方法,谢谢大家帮助

#2



        $(function () {
            $("#ButtonRShow").click(function () {  

看下这样写行么。  

#3


事件触发了,就是调用不到指定的方法

#4


引用 1 楼  的回复:
各位麻烦看下,我这里是准备直接调用GetDataSet()方法,但是它走的是pageload方法,没走GetDataSet()方法,谢谢大家帮助


事件触发了,访问了后台页面,但是走了pageload方法,我希望的是ajax直接调用GetDataSet()方法

#5


应该不会啊。  

可以换钟方法。   用handler来替代这个事件也是可以地  如果说返回的东西不是太多的话。。 

我记得我前几天跟你一样在找那个方法。   也是调用不起来。   然后我就转Handler了。。。 

#6


引用 5 楼  的回复:
应该不会啊。  

可以换钟方法。 用handler来替代这个事件也是可以地 如果说返回的东西不是太多的话。。 

我记得我前几天跟你一样在找那个方法。 也是调用不起来。 然后我就转Handler了。。。


嗯,那方法我也用过,可是我现在想的是用$post来直接调用后台方法,这个我之前写的一个例子是正确的,不知道为啥今天写着写着就出错,我检查了半天了,还是不行

#7


$post的要求太高了。 而且跟我的需求有些不符合 就没深弄他。      

你可以测试一下的- - 调试看进去了没。 

#8


那你直接在pageload里面调这个方法啥

#9


引用楼主  的回复:
jquery: 
       function sq_Click() {
            $.ajax({
                //要用post方式   
                type: "Post",
                //方法所在页面和方法名
                url: "xia_advise.aspx/GetDataS……


这种写法错的  你也可以写个 web service 这样调用

#10


估计他是要保留页面上的属性把。  不然也不会跟我一样要弄前台代码。

#11


少个contentType的参数!

#12


引用 11 楼  的回复:
少个contentType的参数!


+1

contentType: "application/json",

#13


后台直接打印一个字符串就可以了
比如
Response.Write("{\"name\": \"Tom\"}");

前台
function sq_Click() {
  $.ajax({
  //要用post方式   
  method: "post",
  //方法所在页面和方法名
  url: "xia_advise.aspx/GetDataSet",
  dataType: "json",  
  success: function(data) {
  //返回的数据用data.d获取内容   
  alert(data.name);
  },
  error: function(err) {
  alert('ffff');
  }
  });  

  }



这样试试

#14


contentType: "application/json;charset=utf-8",
加上这个试试

#15


已经搞定了,楼上的是正解,因为之前我也加了contentsType,但是和楼上的不同,看来这东西还是要一对一的绝对配对呀.
感谢各位!!!

#16


为啥用$.post()不能调用后台的方法呢?

#1


各位麻烦看下,我这里是准备直接调用GetDataSet()方法,但是它走的是pageload方法,没走GetDataSet()方法,谢谢大家帮助

#2



        $(function () {
            $("#ButtonRShow").click(function () {  

看下这样写行么。  

#3


事件触发了,就是调用不到指定的方法

#4


引用 1 楼  的回复:
各位麻烦看下,我这里是准备直接调用GetDataSet()方法,但是它走的是pageload方法,没走GetDataSet()方法,谢谢大家帮助


事件触发了,访问了后台页面,但是走了pageload方法,我希望的是ajax直接调用GetDataSet()方法

#5


应该不会啊。  

可以换钟方法。   用handler来替代这个事件也是可以地  如果说返回的东西不是太多的话。。 

我记得我前几天跟你一样在找那个方法。   也是调用不起来。   然后我就转Handler了。。。 

#6


引用 5 楼  的回复:
应该不会啊。  

可以换钟方法。 用handler来替代这个事件也是可以地 如果说返回的东西不是太多的话。。 

我记得我前几天跟你一样在找那个方法。 也是调用不起来。 然后我就转Handler了。。。


嗯,那方法我也用过,可是我现在想的是用$post来直接调用后台方法,这个我之前写的一个例子是正确的,不知道为啥今天写着写着就出错,我检查了半天了,还是不行

#7


$post的要求太高了。 而且跟我的需求有些不符合 就没深弄他。      

你可以测试一下的- - 调试看进去了没。 

#8


那你直接在pageload里面调这个方法啥

#9


引用楼主  的回复:
jquery: 
       function sq_Click() {
            $.ajax({
                //要用post方式   
                type: "Post",
                //方法所在页面和方法名
                url: "xia_advise.aspx/GetDataS……


这种写法错的  你也可以写个 web service 这样调用

#10


估计他是要保留页面上的属性把。  不然也不会跟我一样要弄前台代码。

#11


少个contentType的参数!

#12


引用 11 楼  的回复:
少个contentType的参数!


+1

contentType: "application/json",

#13


后台直接打印一个字符串就可以了
比如
Response.Write("{\"name\": \"Tom\"}");

前台
function sq_Click() {
  $.ajax({
  //要用post方式   
  method: "post",
  //方法所在页面和方法名
  url: "xia_advise.aspx/GetDataSet",
  dataType: "json",  
  success: function(data) {
  //返回的数据用data.d获取内容   
  alert(data.name);
  },
  error: function(err) {
  alert('ffff');
  }
  });  

  }



这样试试

#14


contentType: "application/json;charset=utf-8",
加上这个试试

#15


已经搞定了,楼上的是正解,因为之前我也加了contentsType,但是和楼上的不同,看来这东西还是要一对一的绝对配对呀.
感谢各位!!!

#16


为啥用$.post()不能调用后台的方法呢?