很早之前用jquery调用带参数的WS返回XML格式数据的时候,传参的时候会出现错误。问了问度娘和谷哥,这娘儿俩一个德行,里面的多数帖子没什么意义,你粘我,我复制你。
后来在一个不起眼的小站找到一个帖子,某个人的一个建议提醒了我。
我原来的代码是这样写的:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 $.ajax({ 2 type: "post", 3 url: "_service.asmx/getDataFromATable", 4 data:" { tablename: temp }", 5 dataType: "XML" 6 ...
WS是这样写的:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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:"{}"是没有错的,但有参的这样传会出错。
其实很简单,只需要做一点小小的修改就可以了
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 $.ajax({ 2 type: "post", 3 url: "_service.asmx/getDataFromATable", 4 data: { tablename: temp }, 5 dataType: "XML", 6 ...
这是一个微不足道的小细节。
我想说的是,某些人,无论是牛人还是新手,不要盲目地转载别人的东西。
请转载一些正确的。