我有一个MVC应用程序接受依赖于请求类型的JSON或XML对象。此应用程序是基于this article需要帮助将数据发布到使用jquery的asp.net mvc应用程序
要调用需要一个复杂的对象,我用下面的Javascript(JQuery的)的MVC应用程序的方法:
function GetUnassignedJob() {
if (isInteger($('#txtDay').val()) && isInteger($('#txtMonth').val()) && isInteger($('#txtYear').val()) && isInteger(intCurrentJobSummaryIndex) && intCurrentJobSummaryIndex > -1) {
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'http://server/api/wip/joboptimise/getlistforids/' + $('#txtYear').val() + '/' + $('#txtMonth').val() + '/' + $('#txtDay').val(),
data: $.toJSON(aJobSummary[intCurrentJobSummaryIndex].JobIds),
dataType: 'json',
cache: false,
beforeSend: function(XMLHttpRequest) { ShowLoading(); },
success: function(data, textStatus) {
try {
ClearUnassignedJobs();
AddUnassignedJobs(data);
}
catch (e) {
alert('GetUnassignedJob():\r\n\r\n' + e.message);
HideLoading();
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
HideLoading();
ShowStatus('unable to retrieve job list');
},
complete: function(XMLHttpRequest, textStatus) {
HideLoading();
}
});
}
else {
ShowStatus('please ensure you have entered numeric values for day, month and year');
}
}
当部署到服务器并从网络上的任何客户端访问 - 一切正常。然而,当我尝试从服务器相同,收到以下错误消息:
页位置:/ API/WIP/joboptimise/getlistforids/2010/3/10
消息:期待元件' root'from namespace''..遇到'None',名字为'',namespace''。
来源:System.ServiceModel.Web
方法:System.Object的InternalReadObject(System.Runtime.Serialization.XmlReaderDelegator,布尔值)
堆栈跟踪:在System.Runtime.Serialization.Json.DataContractJsonSerializer。 InternalReadObject(XmlReaderDelegator的XmlReader,布尔verifyObjectName) 在System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator读卡器,布尔verifyObjectName) 在System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader读取器) 在System.Runtime.Se rialization.Json.DataContractJsonSerializer.ReadObject(流流) 在rbm.api.ObjectFilter.ProcessJson(ActionExecutingContext filterContext)
一些进一步的调查显示的HttpContext的InputStream的属性是空的!更奇怪的是,当我使用像TcpTrace这样的应用程序(这样我可以看到HTTP流量)时,一切正常!
任何援助将不胜感激,
马克
您是否尝试过只用一个简单的JSON对象的“数据:“?如何发送纯文本?控制器代码是什么样的? – WVDominick 2010-03-11 13:58:10
问题是,从服务器访问时没有数据发送 - 内容类型设置正确,但内容长度为0.如果我从服务器复制并粘贴到客户端的一切都很好 – markpirvine 2010-03-11 14:06:57
因此,当您调试在视觉工作室它有没有得到你的控制器代码? – WVDominick 2010-03-11 14:14:00