我有一个MVC应用程序,它接受依赖于请求类型的JSON或XML对象。此应用程序基于this article
要在需要复杂对象的MVC应用程序上调用方法,我使用以下Javascript(JQuery):
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'。遇到'无',名称为'',名称空间''。
来源:System.ServiceModel.Web
方法:System.Object InternalReadObject(System.Runtime.Serialization.XmlReaderDelegator,Boolean)
Stack Trace:at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader,Boolean verifyObjectName) 在System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader,Boolean verifyObjectName) 在System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader) 在System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream) 在rbm.api.ObjectFilter.ProcessJson(ActionExecutingContext filterContext)
进一步调查显示HttpContext的InputStream属性为空!更奇怪的是,当我使用像TcpTrace这样的应用程序(这样我可以看到HTTP流量)时,一切正常!
非常感谢任何协助,
标记
答案 0 :(得分:0)
先前的评论是正确的,使用本地主机。您可以编辑位于以下位置的主机文件: 服务器上的windows \ system32 \ drivers \ etc,并添加一个将本地主机映射到URL的条目
127.0.0.1 www.xyz.com