Я пытаюсь вызвать WebService в своем приложении ASP. Net
и получаю следующую ошибку: Error: Unexpected token '<'
. Пока что похоже на json
проблему разбора, но я не уверен, как ее решить. В моем приложении есть менеджер данных, который вызывает хранимую процедуру из локальной базы данных SQL .mdf
. По сути, это общедоступный DataTable
с именем GetEventsByState (), и он хранится в моем DataAcessManager.cs
файле. Он вызывается из WebService в моем файле App_Service.asmx.cs. Цель состоит в том, чтобы вернуть datatable
как json в WebService
, чтобы я мог затем вызвать его в моем app.js
файле:
RII_Service.cs
[WebMethod]
public string GetListOfEventsByState()
{
_dtMgr = new DataAccessManager();
//string state = st;
/*HttpContext.Current.Response.Write(GetEventsData());*/
DataTable EventsList = _dtMgr.GetEventsByState();
var lst = EventsList.AsEnumerable()
.Select(r => r.Table.Columns.Cast<DataColumn>()
.Select(c => new KeyValuePair<string, object>(c.ColumnName, r[c.Ordinal])
).ToDictionary(z => z.Key, z => z.Value)
).ToList();
//now serialize it
try
{
string json = new JavaScriptSerializer().Serialize(lst);
json = json.TrimEnd();
return json;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
This WebMethod
затем вызывается в app.js
при загрузке страницы следующим образом:
app.js
//Function to call Asp.Net Web Service and retrieve events list by state
var EventsData = esriRequest({
url: "RII_Service.asmx/GetListOfEventsByState",
content: {
},
dataType: "jsonp",
handleAs: "json"
});
EventsData.then(
function (response) {
console.log(response);
events_json = response;
....
}, function (error) {
console.log("Error: ", error.message);
});
Когда я ставлю точки останова на RII_Service.cs для WebMethod
GetListOfEventsByState (),он создает жизнеспособную строку json, которая выглядит следующим образом:
"[{\"FullEventName\":\"NJ Cindy 2005\",\"State\":\"NJ\"},{\"FullEventName\":\"NJ Gordon 2000\",\"State\":\"NJ\"}...]
Однако, когда он возвращается к запросу EventsData
, он переходит прямо к ошибке. Любые подсказки или предложения относительно того, что я делаю здесь неправильно.