Вы можете решить эту проблему, проанализировав ответ в объект JSON, используя функцию jQuery parseJSON - http://api.jquery.com/jQuery.parseJSON/
Параметр, передаваемый в функцию, - это строка объекта JSON, которую вы извлекаете из ответаdata:
function AjaxResponse (data) { // AJAX post callback
var jsonResult = $.parseJSON(data.substring(data.indexOf("{"), data.lastIndexOf("}") + 1));
}
Протестировано (кроме Chrome, эту проблему решается) в FF и IE8 для следующего простого результата JSON, для других браузеров и более сложных ответов нет гарантий ...
ПРИМЕЧАНИЕ: тип содержимого в этом случае - text / plain или text / html, я думаю - я использовал следующую функцию ASP.Net MVC для возврата результата
ContentResult System.Web.Mvc.Controller.Content(string content);
Где я возвратил объект JSON, например
System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer
= new System.Web.Script.Serialization.JavaScriptSerializer();
var jsonResponse = jsonSerializer.Serialize(
new { IArticleMediaId = 0
, ImageUrl = Url.Content(fullImgPath)
});
return Content(jsonResponse);