【发布时间】:2020-06-21 14:13:11
【问题描述】:
我在 web api 项目中定义了以下控制器
public IEnumerable<Speciality> GetAllSpecialities()
{
List<Speciality> specialities = null;
try
{
specialities = (new Datatable(Properties.Settings.Default.DataConnection)).Select<Speciality>(null);
}
catch ( System.Exception ex)
{
throw ex;
}
finally
{
}
return specialities;
}
public IHttpActionResult GetSpeciality(String id)
{
Speciality speciality = null;
try
{
speciality = DALObject.Get<Speciality>(Properties.Settings.Default.DataConnection,
new Dictionary<string, object>()
{
{ "SpecialityCode",id }
},null);
if (speciality == null)
{
return NotFound();
}
}
catch ( System.Exception ex)
{
throw ex;
}
return Ok(speciality);
}
如果我从浏览器调用 Web 服务,它们都会返回一个 JSON 对象,第一个是专业列表,第二个是单独的。
在我的页面中,我有以下 ajax 代码
$.ajax({
url: 'http://stg1edmapps01:9090/api/specialties',
contentType:'json',
success: function (result) {
alert('data collected successfully');
},
error: function (request, status, error) {
alert('something is broken');
alert('Response ' + error);
}
});
在这里我收到三个警报;
第一个是显示它调用代码的那个 第二个说'有些东西坏了'
然而,第三个只是给出“响应”这个词,除非我将错误传递给最终警报,在这种情况下,它会给出字符串“响应错误”。
我做错了什么,因为我期望得到一个带有专业列表的 JSON 对象。无论传递 api/specialties/100 还是仅传递 api/specialties,都会发生同样的情况
【问题讨论】:
-
如果我正确理解了在 webapiconfig 中完成的操作,无论如何如果我在浏览器地址栏中进行以下 url 调用,stg1edmapps01:9090/api/specialties 因为 api 安装在 stg1edmapps 服务器上,它确实返回一个json 对象
标签: javascript c# jquery webapi