2012-08-17 106 views
0

当我尝试从我的WCF服务加载统计信息时,出现错误请求错误400。我的电话看起来像这样。我拿出日期参数来查看是否是原因,但没有运气仍然得到相同的错误。错误的请求 - WCF与jQuery Post

function WCFJSON() { 
//var now = new Date(); 
//var getFromDate = dateToWcf(new Date(now - (60000 * 1440))); 

var dt = new Date(now); 
var dt1 = new Date(Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes(), dt.getSeconds(), dt.getMilliseconds())); 
var getFromDate = dt1.toMSJSON(); 

var userid = "1"; 
m_Type = "POST"; 
m_Url = "https://dev-04.boldgroup.int/ManitouDashboard/DashboardProxyService.svc/GetStats" 
m_Data = JSON.stringify({getFromDate: "'" + getFromDate + "'",getValueList: [1,2,3]}); 
m_DataType = "json"; 
m_ProcessData = true;    
CallService(); 
} 

Date.prototype.toMSJSON = function() { 
var date = '//Date(' + this.getTime() + ')//'; //CHANGED LINE 
return date; 
}; 

function CallService() { 
$.ajax({ 
    type: m_Type,   //GET or POST or PUT or DELETE verb     
    url: m_Url,     //Location of the service 
    data: m_Data, 
    dataType: m_DataType, //Expected data format fserver     
    processdata: m_ProcessData, //True or False 
    crossdomain: true,  
    contentType: "application/json; charset=utf-8",    
    success: function (msg) { //On Successfull service call      
     ServiceSucceeded(msg); 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 
     ServiceFailed("jqXHT: " + jqXHR.result + "Text Status: " + textStatus + " Error Thrown: " + errorThrown); 
    } // When Service call fails    
}); 
} 

的IDashboardWCFService接口看起来是这样的:

[ServiceContract] 
public interface IDashboardWCFService 
{ 
    [OperationContract] 
    [WebInvoke(UriTemplate = "GetStats", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] 
    Dictionary<int,List<StatValue>> GetStats(DateTime getFromDate, List<int> getValueList); 

    [OperationContract] 
    [WebGet(UriTemplate = "GetStatTypes", ResponseFormat = WebMessageFormat.Json)] 
    List<StatType> GetStatTypes(); 
} 
+0

你可以浏览到你的服务? WebInvoke()没有方法?你能做到吗? – 2012-08-17 22:29:23

回答

1

好像你正试图通过执行AJAX $方法跨域Web服务调用。在这种情况下,您的m_dataType值应该是"jsonp"而不是"json"

类似的问题here