我用以下代码向我的MVC控制器发送/接收对象:
$.ajax({
url: _createOrUpdateTimeRecord,
data: JSON.stringify(data),
type: "POST",
//dataType: "json",
contentType: "application/json; charset=utf-8",
beforeSend: function () {
$("#loading-overlay").show();
},
success: function (data2) {
try { // tried to parse it manually to see if anything changes.
data2 = JSON.parse(data2);
}
catch (err) {
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError + 'xhr error -- ' + xhr.status);
}
在我的mvc控制器上,我把JSON对象作为字符串处理,所以不需要.NET JavascriptSerializer和JsonResult。
我的JSON字符串看起来像:
data2 = "{title:'1111111',start:'2014-03-23T16:00:00.000',end:'2014-03-23T18:00:00.000',id:107,hdtid:1,color:'#c732bd',allDay:false,description:''}"
我总是收到以下错误信息:"无效字符"
我已经尝试返回字符串并在客户端手动解析JSON。因此,我使用了ContentResult作为返回类型,但没有成功。
public class JsonStringResult : ContentResult
{
public JsonStringResult(string json)
{
Content = json;
ContentType = "application/json";
}
}
这里有什么问题?JSON看起来很好...
祝好,
Stefan