从MVC控制器

时间:2015-08-06 20:16:00

标签: jquery ajax json

我有一个返回JSON字符串的MVC控制器。当字符串返回调用jQuery ajax()函数时,字符串采用这种格式:

{\"Data\":{\"@ReportID\":\"8\",\"Parameters\":{\"@DateFrom\":\"8/1/2015\",\"@DateTo\":\"8/31/2015\",\"@VenueIDs\":\"1\",\"@EventTypeIDs\":\"1,10,11\",\"@ReportType\":\"1\",\"@GroupBySubType\":\"False\",\"@GroupByMonth\":\"False\",\"@EventTypes\":\"Concerts,National Touring Division,Booking Agreements\",\"@Venues\":\"MSG - Arena\"}}}

当我收到它时,它看起来像这样:

{\Data\:{\@ReportID\:\8\,\Parameters\:{\@DateFrom\:\8/1/2015\,\@DateTo\:\8/31/2015\,\@VenueIDs\:\1\,\@EventTypeIDs\:\1,10,11\,\@ReportType\:\1\,\@GroupBySubType\:\False\,\@GroupByMonth\:\False\,\@EventTypes\:\Concerts,National Touring Division,Booking Agreements\,\@Venues\:\MSG - Arena\}}}

jQuery不再喜欢它,因为它不会执行:

var obj = $.parseJSON(data);

我正在调用MVC控制器:

    $.ajax({
        url: "GetSelections",
        data: {
            json: params
        },
        contentType: 'application/json;',
        dataType: 'text',
        type: "GET",
        success: function (data) {
            var obj = $.parseJSON(data);

        },

这里,我正在使用text作为数据类型,因为json错误。

使用文字可以吗?我如何准备返回的JSON,以便jQuery喜欢它?

1 个答案:

答案 0 :(得分:-1)

如果您希望返回JSON,那么您还应该将$.ajax数据类型设置为JSON:

dataType: 'json'

如果你这样做,你甚至不需要$.parseJSON

success: function (data) {
    var obj = data;
}

就够了