2010-03-11 82 views
3

我有一個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流量)時,一切正常!

任何援助將不勝感激,

馬克

+0

您是否嘗試過只用一個簡單的JSON對象的「數據:「?如何發送純文本?控制器代碼是什麼樣的? – WVDominick 2010-03-11 13:58:10

+0

問題是,從服務器訪問時沒有數據發送 - 內容類型設置正確,但內容長度爲0.如果我從服務器複製並粘貼到客戶端的一切都很好 – markpirvine 2010-03-11 14:06:57

+0

因此,當您調試在視覺工作室它有沒有得到你的控制器代碼? – WVDominick 2010-03-11 14:14:00

回答

0

現有的意見是正確的,使用本地主機。您可以編輯您的主機文件位於: WINDOWS \ SYSTEM32 \ drivers \ etc下的服務器上,並添加本地主機映射到URL條目

127.0.0.1 www.xyz.com 
相關問題