【发布时间】:2015-08-25 12:16:52
【问题描述】:
我需要使用 web 服务从客户表中显示 id,但我无法使用 belove 代码获取它。
这是我获取或显示整个结果的 ajax 调用,但它无法获取客户 ID
$(document).ready(function () {
var values;
$.ajax({
url: 'http://localhost:53562/WebService.asmx/HelloWorld',
type: 'POST',
success: function (data) {
alert("ajax call");
//$.map(data, function (product) {
// alert(product.Id);
// $('<tr> <td>' + product.Name + '</td> <td>' + product.ProductNumber + ' </td> <td>' + product.SafetyStockLevel + ' </td> <td>' + product.ReorderPoint + ' </td></tr>').appendTo(".tblData");
//});
//for (var i in data) {
// alert(data[i]);
// // data[i].something, etc
//}
//var datas=data.par
$.each(data, function (index, item) {
alert(item);
});
}
});
});
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld()
{
// getting connection string
string conStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DbConection"].ConnectionString;
using (SqlConnection conn = new SqlConnection(conStr))
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("select Id from customer", conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
System.Web.Script.Serialization.JavaScriptSerializer serilizer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach(DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach(DataColumn col in dt.Columns)
{
row.Add(col.ColumnName,dr[col]);
}
rows.Add(row);
}
return serilizer.Serialize(rows);
}
【问题讨论】:
-
您能否在
success函数中添加一个console.log(data)并发布您在控制台中获得的内容? -
请将响应粘贴为文本而不是图像,因为那些使用较小显示器(或在移动浏览器上)的人会发现很难阅读。
-
由于您使用的是
JavaScriptSerializer,我认为您可能会收到data.d的响应数据,但只是想在发布答案之前进行确认。 -
palash 我在 console.log(data) 中得到了完美的结果,但是显示这个结果有问题
-
console.log(data);是字符串还是对象?
标签: jquery ajax web-services