【发布时间】:2016-06-20 07:09:46
【问题描述】:
我是 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;
}
【问题讨论】: