首页 新闻 搜索 专区 学院

后台怎么获取ajax data数据

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-19 12:17
<form id="form1" runat="server">
    <div id="div1">
        <input type="text" id="text1" name="text1" />
        <input type="text" id="text2" name="text2" />
        <input type="text" id="text3" name="text3" />
    </div>
    <input type="button" id="btnTest" value="点击我" />
    <input type="button" id="btnGet" value="AJAXGET测试" />
    </form>

上面的是我的前台代码

<head runat="server">
    <title></title>
    <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnTest").click(function () {
                $.ajax({
                    url: "WebForm2.aspx/Test",
                    type: "POST",
                    dataType: "json",
                    data: {"str":"我是","str2":"XXX"},             
                    contentType: "application/json; charset=utf-8",
                })
            })
        })
    </script>
</head>

这上面的是js代码

[WebMethod()]
        public static string[] Test() {
            string value1 = v1;
            string value2 = v2;
            string[] list = {value1,value2};
            return list;
        }

这上面的是WebForm2.aspx里的一个方法

我现在想把ajax data(也就是上面红色部分的数据在后在获取)

问题:

如果我把

data: {"str":"我是","str2":"XXX"}, 这句加上的话,就有异常 当触发点击事件时并不能转到webform2页面
如果不加
data: {"str":"我是","str2":"XXX"}, 这一句 如果不加的话 当触发点击事件时就可以转到webform2页面
请问我这是哪里错了
生活还是要继续的主页 生活还是要继续 | 初学一级 | 园豆:10
提问于:2014-03-04 00:03
< >
分享
最佳答案
0

data: "{str:我是,str2:XXX}",

public static string[] Test(string str,string str2) {}

收获园豆:10
单恋 | 小虾三级 |园豆:678 | 2014-03-04 17:09
其他回答(4)
0

str与str2 是Test方法的参数,Test都没有加形参当然没办法调用  Test(string str,string str2)这样就行了

Zery | 园豆:6139 (大侠五级) | 2014-03-04 07:45

加了也没有用,你能不能写一个给我?

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2014-03-04 20:54

@生活还是要继续: 用FireBug 查看下HTTP请求吧 会有提示信息的

支持(0) 反对(0) Zery | 园豆:6139 (大侠五级) | 2014-03-04 23:13
0

具体异常是什么?

试试后台  Test() 方法同命名空间下增加一个参数类

public class DataArg
{
    string str {get;set;}
    string str2 {get;set;}
}


Test()签名改为:
public static string[] Test(DataArg arg) {
    //...
}
袁家小黑球 | 园豆:1045 (小虾三级) | 2014-03-04 09:50

感谢,真可以

支持(0) 反对(0) 钟季 | 园豆:202 (菜鸟二级) | 2016-11-16 18:29
0

可以尝试查看详细的错误提示,然后根据提示错误信息修改,

            $.ajax({
                url: ""WebForm2.aspx",
                data: {"str":"我是","str2":"XXX"},
                success: function (result) {
                    //成功事件
                },
                error: function (error) {
                   //错误事件,调试查看 参数 error 的内容

} });
shzy2012 | 园豆:224 (菜鸟二级) | 2014-03-04 13:15

查看了下,是错误500

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2014-03-04 20:55

@生活还是要继续: 

500可能是后台代码中有错误导致的

常见的5××错误

5xx-服务器错误  
服务器由于遇到错误而不能完成该请求。  
500-内部服务器错误。  
500.12-应用程序正忙于在Web服务器上重新启动。   

再详细的错误可以使用,使用火狐调试或者IE debug 更方便看出错误

error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(XMLHttpRequest.status);
                        alert(XMLHttpRequest.readyState);
                        alert(textStatus);
                    },
支持(0) 反对(0) shzy2012 | 园豆:224 (菜鸟二级) | 2014-03-09 10:05
0

data里面的参数 应该是方法test中的参数 并且名字要相同 Test(string str,string str2)

同意一楼的

wolfy | 园豆:2636 (老鸟四级) | 2014-03-04 13:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册