【问题标题】:jquery ajax call is forcing response to lowercasejquery ajax调用强制响应小写
【发布时间】:2018-01-23 06:21:59
【问题描述】:

您好,我正在通过以下方式从我的 .net 应用程序进行 AJAX 调用

$.ajax({
       type: 'POST',
       url: '@Url.Action("GetRouteUsingJobId", "Home")',
       contentType: 'application/json; charset=utf-8',
       dataType: "json",
       data: JSON.stringify({ "jobid": jobid }),
         success: function (result) {
           var response = result.result;
           var RouteArray = response.eSRIRouteResponse.features;
           //RouteArray = response.eSRIRouteResponse.Features; //ERROR
         },
         error: function (request, status, error) {
           alert('Error: Unable To Get Route details.');
         }
});

当我尝试从 eSRIRouteResponse 访问功能时,如下所示,它给出了错误

var RouteArray = response.eSRIRouteResponse.Features; //ERROR

但是这个工作

var RouteArray = response.eSRIRouteResponse.features;

从我的 MVC 控制器返回如下所示

ESRIRouteResponse eSRIRouteResponse=Some Value;
return Json(new { eSRIRouteResponse },JsonRequestBehavior.AllowGet);

我的模型类包含如下所示的 eSRIRouteResponse

public class ESRIRouteResponse
{
    public Features Features{ get; set; }
}

我正在使用 JQUERY 3.2.1

什么问题,如何解决?

【问题讨论】:

标签: javascript jquery .net ajax asp.net-mvc


【解决方案1】:
RouteArray = response.eSRIRouteResponse.features;

您基本上是在访问响应中的其他属性。响应包含已从操作发回的数据。您不能在响应中直接访问您的模型属性。

所以,

RouteArray = response.eSRIRouteResponse.Features;

以上行不通。

【讨论】:

  • 正确检查问题,我的要求是,我们可以直接在响应中访问您的模型属性。
【解决方案2】:

您是否尝试删除 dataType: "json" 并手动解析响应。

     success: function (result) {
       var response = JSON.parse(result);
       RouteArray = response.eSRIRouteResponse.Features;
     },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多