function selectGPkind(code) {
var url = "../webservice/ajaxSelectService.asmx/selectGPkind";
var data = "{'code':'" + code + "'}";
var json = json = dataForJson(url, data).d;
$("#selectKind").empty();
$.each(json, function (index, item)
{
$("#selectKind").append($("<option></option").val(item[0]).html(item[1]));
});
这段代码我知道不全,但是能不能试着给我讲讲,尤其是function里的参数是什么意思。我不太懂jquery ,这些参数他们从何能判断出来,他们是什么????谢谢了
你不需要知道它是怎么判断出来的,只要知道它能判断出来就行了,index就是数据项的下标从0开始,item就代表数据项。
如果json中是一个数据集的话,这段代码就可以成功遍历这个数据集了。
我能理解为我从后台取出的数据 ,是一个表格,index代表行,item代表列吗 ?不知道这样准确吗?还有能帮我解释一下dataForJson(url, data).d吗? 这里面的。d我不太理解,我能理解为。d就是后台得出的数据吗???谢谢
@太笼统: index代表行的下标,item代表行。item[0]才是代表列的值。这样明白了吧。
@Alex_QY1987: 懂了 那么还有能帮我解释一下dataForJson(url, data).d吗? 这里面的。d我不太理解,我能理解为。d就是后台得出的数据吗???谢谢
@太笼统: dataForJson(url, data).d,这个你得看下dataForJson这个方法的内部是怎么写的了。目测应该是调用了一个ajax的方法获取服务端返回的数据,然后对数据进行了处理一个对象,.d应该是这个对象的一个属性了,并且这个属性应该是个集合。
@Alex_QY1987: 我会提高奖赏的 麻烦再提我看一下吧 我看没有d这么个属性
var asd = "asd";
$.ajax({
type: "POST",
url: "../webservice/ajaxService.asmx/SessionBack",
data: "{'asd':'" + asd + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false, //如果要在$.ajax外面获取ajax获取到的值,则ajax必须获得同步
success: function (msg) {
json = msg;
}
});
return json;
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public ArrayList GetDB(string operatorRoomNo, string startTm, string endTm, string type, string kind)
{
ArrayList objs = new ArrayList();
if (type == "10") // 查询颗粒物
{
DataTable r = SqlHelper.GetTable("SELECT ParticlesCnt,CheckTime FROM dbo.View_CheckParticlesForOperationRoom where OperationRoomNo='" + operatorRoomNo + "' and CheckTypeCode='" + kind + "' and CheckTime between '" + startTm + "' and '" + endTm + "'order by CheckTime asc");
if (r != null)
{
foreach (DataRow row in r.Rows)
{
ArrayList ob = new ArrayList();
//long lLeft = 621355968000000000;
//string tm = row["CheckTime"].ToString().Trim();
//DateTime tmm = Convert.ToDateTime(tm);
//long tmms = (tmm.Ticks - lLeft) / 10000;
string rows = row["ParticlesCnt"].ToString().Trim();
double wq = Convert.ToDouble(rows);
ob.Add(GetIntFromTime(Convert.ToDateTime(row["CheckTime"])));//检测时间
// objs.Add(row["Concentration"].ToString().Trim());
ob.Add(wq);//检测时的颗粒浓度
objs.Add(ob);
}
}
}
@太笼统: webservice/ajaxService.asmx/SessionBack 应该是找 SessionBack吧?上面的URL是selectGPkind ? 到底是调用的哪个呀?
json=msg;这里赋值了,就得看返回的这个msg有没有.d的属性呢。
@Alex_QY1987: scorry 刚才慌张了 发错了
function dataForJson(url, dataJson) {
var json;
$.ajax({
type: "POST",
url: url,
data: dataJson,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false, //如果要在$.ajax外面获取ajax获取到的值,则ajax必须获得同步
success: function (msg) {
json = msg;
}
});
return json;
}
@太笼统: webservice/ajaxSelectService.asmx/selectGPkind 你看查看到这个webservice代码吗?看selectGPkind返回的是什么,是不是有.d的属性