关于jquery ajax 调用带参数的webservice返回XML数据一个小细节

很早之前用jquery调用带参数的WS返回XML格式数据的时候,传参的时候会出现错误。问了问度娘和谷哥,这娘儿俩一个德行,里面的多数帖子没什么意义,你粘我,我复制你。

后来在一个不起眼的小站找到一个帖子,某个人的一个建议提醒了我。

我原来的代码是这样写的:

错误代码
1 $.ajax({
2                             type: "post",
3                             url: "_service.asmx/getDataFromATable",
4                             data:" { tablename: temp }",
5                             dataType: "XML"
6 ...

WS是这样写的:

webservice
 1  [WebMethod]
 2         public DataSet getDataFromATable(string tablename)
 3         {
 4             DataSet ds = new DataSet();
 5             using (SqlConnection con=new SqlConnection(connectionString))
 6             {
 7                 con.Open();
 8                 SqlCommand cmd = new SqlCommand();
 9                 cmd.Connection = con;
10                 cmd.CommandText = string.Format("select * from {0}",tablename);
11                 SqlDataAdapter da = new SqlDataAdapter(cmd);
12                 da.Fill(ds);
13             }
14             return ds;
15         }

网上搜到的,都说如果是无参数的WS,用上面的data:"{}"是没有错的,但有参的这样传会出错。

其实很简单,只需要做一点小小的修改就可以了

正确代码
1 $.ajax({
2                             type: "post",
3                             url: "_service.asmx/getDataFromATable",
4                             data: { tablename: temp },
5                             dataType: "XML",
6 ...

这是一个微不足道的小细节。

我想说的是,某些人,无论是牛人还是新手,不要盲目地转载别人的东西。

请转载一些正确的。

原文地址:https://www.cnblogs.com/panbao/p/2613988.html