结果集 returns 空白行 Microsoft Dynamics CRM 2011
Resultset returns blank rows Microsoft Dynamics CRM 2011
我是Microsoft Dynamics CRM 2011的新手,目前正在维护别人开发的CRM系统。 CRM 中有自定义实体。如果我尝试通过 OData Query tool
执行,则有一个结果集 PendingSet 其中 returns 行
但是当我尝试使用相同的 URL 通过浏览器查看结果集时,它 returns 空白行。
由于结果集为空,它在表单中显示 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;
}
看起来网络浏览器返回的结果只是试图将它们错误地显示为 RSS 提要。
打开; Internet 选项 > 内容 > 设置 > "Turn on Feed Reading View" 关闭。
当您尝试浏览结果时,您现在应该会得到数据的 Atom 提要。
您的 JavaScript 中可能有问题,在这种情况下,分析问题的最佳方法是打开调试器 (F12) 并逐步执行代码以找到问题。
我是Microsoft Dynamics CRM 2011的新手,目前正在维护别人开发的CRM系统。 CRM 中有自定义实体。如果我尝试通过 OData Query tool
执行,则有一个结果集 PendingSet 其中 returns 行但是当我尝试使用相同的 URL 通过浏览器查看结果集时,它 returns 空白行。
由于结果集为空,它在表单中显示 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;
}
看起来网络浏览器返回的结果只是试图将它们错误地显示为 RSS 提要。
打开; Internet 选项 > 内容 > 设置 > "Turn on Feed Reading View" 关闭。
当您尝试浏览结果时,您现在应该会得到数据的 Atom 提要。
您的 JavaScript 中可能有问题,在这种情况下,分析问题的最佳方法是打开调试器 (F12) 并逐步执行代码以找到问题。