JQuery从通用处理程序中检索多个值
在Google上搜索并阅读文档后,我很困惑它是如何工作的。当调用具有值的通用处理程序并成功返回多个值时。你如何循环访问数据库中的记录?你是循环遍历通用处理程序的记录,还是通过JQuery的每个函数成功执行?以下是当前的代码,当存在多个值时不起作用。删除$。每个(VARDATA,函数()和它的作品;但是,只有一条记录显示JQuery从通用处理程序中检索多个值
这是该数据应如何照顾你在伊利在文本框中键入并单击按钮
Business Profile ID: 8 Business Name: The Boston Store
Phone Number: 814-455-1478
E-Mail: [email protected]
Business Profile ID: 9
Business Name: Sam The Man Pizza
Phone Number: 814-868-3809
E-Mail: [email protected]
jQuery脚本
$(document).ready(function() { $('#button').click(function() {
$.ajax({
contentType: "text/html; charset=utf-8",
data: "ID=" + $('#businessSelect').val(),
url: "getTest.ashx",
dataType: "text",
success: function (data) {
var vardata = JSON.parse(data);
$.each(vardata, function (index, value) {
$("#BusProfileID").html(value.BusProfileID);
$("#BusinessName").html(value.BusinessName);
$("#BusinessPhone").html(value.BusinessPhone);
$("#BusinessEmail").html(value.BusinessEmail);
});
}
})
});
});
ashx的处理程序页面
public void ProcessRequest(HttpContext context) {
context.Response.ContentType = "text/html";
string ID = context.Request.QueryString["ID"];
SqlConnection conn;
SqlCommand comm;
SqlDataReader reader;
string connectionString = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
conn = new SqlConnection(connectionString);
comm = new SqlCommand("SELECT BusProfileID, BusinessName, BusinessPhone, BusinessEmail FROM [BusProfile] WHERE BusinessCity = @BusinessCity", conn);
comm.Parameters.Add("@BusinessCity", System.Data.SqlDbType.VarChar);
comm.Parameters["@BusinessCity"].Value = ID;
try
{
conn.Open();
reader = comm.ExecuteReader();
List<BusinessData> objList = new List<BusinessData>();
BusinessData objData;
while (reader.Read())
{
objData = new BusinessData();
objData.BusProfileID = reader["BusProfileID"].ToString();
objData.BusinessName = reader["BusinessName"].ToString();
objData.BusinessPhone = reader["BusinessPhone"].ToString();
objData.BusinessEmail = reader["BusinessEmail"].ToString();
objList.Add(objData);
context.Response.Write(JsonConvert.SerializeObject(objList));
}
reader.Close();
}
finally
{
conn.Close();
}
}
public class BusinessData
{
public string BusProfileID { get; set; }
public string BusinessName { get; set; }
public string BusinessPhone { get; set; }
public string BusinessEmail { get; set; }
}
public bool IsReusable
{
get
{
return false;
}
}
}
aspx页面
<div class="row"> <div class="columns medium-12">
<div class="row">
<div class="medium-6 columns medium-centered">
<label style="font-size:1em">Select City:</label>
<input type="text" id="businessSelect" style="height:2em;" /> <input type="button" id="button" value="Click me" />
</div>
</div>
<div class="row">
<div class="medium-6 columns medium-centered">
<label style="font-size:1em">Business Profile ID:</label>
<label id="BusProfileID" style="font-size:1em;"></label>
</div>
</div>
<div class="row">
<div class="medium-6 columns medium-centered">
<label style="font-size:1em">Business Name:</label>
<label id="BusinessName" style="font-size:1em;"></label>
</div>
</div>
<div class="row">
<div class="medium-6 columns medium-centered">
<label style="font-size:1em">Phone Number:</label>
<label id="BusinessPhone" style="font-size:1em;"></label>
</div>
</div>
<div class="row">
<div class="medium-6 columns medium-centered">
<label id="BusinessEmail" style="font-size:1em">E-Mail:</label>
</div>
</div>
</div>
回答:
如果通过结果要loop
,它必须是一个object
。现在你是stringify
你的结果。所以你不能迭代它。
使用JSON.parse
的结果转换为JSON
对象,然后使用$.each
该对象
var vardata = JSON.parse(data); $.each(vardata, function (index, value) {
// TODO
});
上所以你不会需要拆分并考虑到array
。您可以参考each
声明中的value
参数。
编辑
要从JSON
使用的值,你可以使用其属性,从服务器的结果集。
一样,
$.each(vardata, function (index, value) { $("#BusProfileID").html(value.BusProfileID);
$("#BusinessName").html(value.BusinessName);
$("#BusinessPhone").html(value.BusinessPhone);
$("#BusinessEmail").html(value.BusinessEmail);
});
使用class
,让你从SQL Query
public class BusinessData {
public long BusProfileID { get; set; }
public string BusProfileID { get; set; }
public string BusProfileID { get; set; }
public string BusProfileID { get; set; }
}
获取的数据创建一个List<BusinessData>
对象,并从你的读者添加每个项目到这个列表
JsonConvert
在Newtonsoft.Json
nuget包中。
以上是 JQuery从通用处理程序中检索多个值 的全部内容, 来源链接: utcz.com/qa/261959.html