【发布时间】:2012-02-01 14:41:08
【问题描述】:
由于某种原因,当我测试将 json 字符串解析为下拉列表时,它可以这样做
var json = [{ "Id": "12345", "WorkUnitId": "SR0001954", "Description": "Test Service Request From Serena", "WorkUnitCategory": "ServiceRequest" }, { "Id": "12355", "WorkUnitId": "WOR001854", "Description": "Test Work Order From Serena", "WorkUnitCategory": "ServiceRequest" }, { "Id": "12365", "WorkUnitId": "DBR001274", "Description": "Test Database Related Service Request From Serena", "WorkUnitCategory": "ServiceRequest"}];
$(json).each(function() { comboboxWorkUnit.append($('<option>').val(this.Id).text(this.WorkUnitId)); });
但是,当我尝试从我的网络服务中获取 json 并将其放入下拉列表时,我收到一条错误消息,提示 下拉列表不支持此方法。
$.ajax({
type: "POST",
url: "Services/WorkUnitService.asmx/WorkUnit",
data: "{'Number' : '" + Number.text() + "','Id': '" + combobox.val() + "','workerType': '" + EmployeeType + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(json) {
$(json).each(function() { comboboxWorkUnit.append($('<option>').val(this.Id).text(this.WorkUnitId)); });
} });
我也试过调用webservice方法但是报错
$.postJSON("Services/WorkUnitService.asmx/WorkUnitsForParAndPhase", "{'parNumber' : '" + parNumber + "','phaseId': '" + combobox.val() + "','workerType': '" + EmployeeType + "'}", function(data) {
alert(data.toString());
});
我试过这个从来没有调用过网络服务
$.getJSON('Services/WorkUnitService.asmx/WorkUnitsForParAndPhase' + parNumber + '/' + combobox.val() + '/' + EmployeeType,
function(myData) {
alert(myData.toString());
});
【问题讨论】:
-
追踪
this看它是在获取json数据还是父数据
标签: jquery web-services drop-down-menu