Насколько я могу судить, я получаю ошибку парсера, потому что некоторые из возвращаемых мной данных содержат апострофы.Return JsonResult с апострофами
Ошибка я получаю:
SyntaxError: Unexpected end of input at Object.parse (native) at jQuery.parseJSON...
Моя JavaScript:
var viewModel = kendo.observable({
hospitalDataSource: new kendo.data.DataSource({
transport: {
read: {
url: "/Hospital/GetHospitals",
dataType: "json",
type: "GET"
},
schema: {
model: {
id: "Id",
fields: {
ProviderId: { type: "number" },
Name: { type: "string" },
Active: { type: "string" }
}
}
},
errors: "errorMsg"
},
pageSize: 10,
error: function (e) {
toastr.options = {
"positionClass": "toast-bottom-full-width"
};
toastr.error('There was an error:' + e.errors, 'Uh Oh!');
this.cancelChanges();
},
serverPaging: false,
serverFiltering: false,
serverSorting: false
}),
})
Контроллер JsonResult:
[HttpGet]
public JsonResult GetHospitals()
{
var hospitals = hospitalService.GetAllHospitals();
return Json(hospitals, JsonRequestBehavior.AllowGet);
}
Как я упоминал выше, я считаю, что получаю ошибку парсера, потому что некоторые из моих данных содержат апострофы. Например, Name
может включать в себя строку Women and Children's Hospital
Я еще новичок в MVC/C# и Json поэтому я не уверен, как идти о решении этого. Есть ли способ избежать всех апострофов? Или есть что-то еще, что я должен делать.
Дайте мне знать, если что-либо, что я сказал, неясно. Благодаря!
Можете ли вы поделиться результат JSON? –
Вы можете попробовать использовать html-кодирование для апострофов, которые должны преобразовать их в '''. – maniak1982
https://msdn.microsoft.com/en-us/library/w3te6wfz(v=vs.110).aspx – maniak1982