Javascript Odata$筛选器未检索值
我有一个JS,它有odataJavascript Odata$筛选器未检索值,javascript,filter,odata,jaydata,Javascript,Filter,Odata,Jaydata,我有一个JS,它有odata$select和$filter来检索一个名为的字段“ct\U portfolioid”使用ct\U portfoliocode进行过滤 url似乎没有返回portfolioid。url未定义 var serverUrl = Xrm.Page.context.getServerUrl(); var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc"; var filter="
$select
和$filter
来检索一个名为的字段“ct\U portfolioid”
使用ct\U portfoliocode进行过滤
url似乎没有返回portfolioid。url未定义
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var filter="ct_apxportfoliocodeSet?$select=ct_portfolioid&$filter=ct_portfoliocode eq '" + portfolioCode +"'";
$.ajax({
async: true,
type: "GET",
url: serverUrl + ODATA_ENDPOINT + "/"+filter,
contentType: "application/json; charset=utf-8",
dataType: 'json',
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
作为手工编码协议数据的替代方案,您可以尝试使用JavaScript语言查询和本机crud操作支持,在OData上提供高级语义API
使用JayData,您不必手动组装oData$filter、$sort、$select
等表达式,还可以使用本机JavaScript语法
使用JayData可以更轻松地实现上述查询:
$data.YourContext.filter(function(a) {return a.ct_portfolicode==this.portfolioCode;}, {portfolioCode: YourValue})
.map(function(p) {return p.ct_portfolioid;})
.toArray(...);
您可以从下载最新的JayData版本。您能否更详细地说明您收到的回复?理想情况下,使用一些跟踪工具(例如fiddler)获取请求/响应的跟踪。@vitekkarasmssft感谢您的输入。我发现错误时替换了var filter=“ct\u apxportfoliocodeSet?$select=ct\u portfolioid&$filter=ct\u portfoliocode eq%27”+portfoliocode+%27”;url现在返回portfolioid谢谢!