我是Microsoft Dynamics CRM 2011的新手。我目前正在维护由其他人开发的CRM系统。 CRM中有自定义实体。如果我尝试通过OData Query tool
执行,则有一个结果集PendingSet返回行但是当我尝试使用相同的URL通过浏览器查看结果集时,它返回空行。
由于结果空白,它在表单中显示了一个javascript OData错误。
这个问题背后的原因是什么?
注意:我查看了数据库视图。它有记录。
编辑:在此处添加代码。下面的ajax调用是抛出错误:
function CheckJustification(bag_pendingId, CHANGECASESEVERITY) {
var query = "/bag_pendingSet?$filter=bag_pendingCaseId/Id eq guid'" + bag_pendingId + "' and bag_reasontype/Value eq " + CHANGECASESEVERITY + "";
var justificationexist = ExecuteQuery(query);
return justificationexist;
}
//
// ExecuteQuery executes the specified OData Query asyncronously
//
// NOTE: Requires JSON and jQuery libraries. Review this Microsoft MSDN article before
// using this script http://msdn.microsoft.com/en-us/library/gg328025.aspx
//
function ExecuteQuery(ODataQuery, obj) {
var serverUrl = Xrm.Page.context.getServerUrl();
var justification = true;
// Adjust URL for differences between on premise and online
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
}
var ODataURL = serverUrl + "/XRMServices/2011/OrganizationData.svc" + ODataQuery;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: ODataURL,
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function(data, textStatus, XmlHttpRequest) {
//
// Handle result from successful execution
//
try {
justification = data.d.results[0].bag_pendingCaseId;
} catch (e) {
justification = false;
}
},
error: function(XmlHttpRequest, textStatus, errorObject) {
//
// Handle result from unsuccessful execution
//
alert("OData Execution Error Occurred");
}
});
return justification;
}

答案 0 :(得分:0)
看起来Web浏览器返回的结果只是试图将它们错误地显示为RSS源。
打开;互联网选项>内容>设置>关闭“打开Feed阅读视图”。
当您尝试浏览结果时,您现在应该获得数据的Atom Feed。
您的JavaScript可能有问题,在这种情况下,分析问题的最佳方法是打开调试器(F12)并逐步执行代码以查找问题。