我正在从托管在同一 CRM 实例上的网络资源向 CRM 发出 FetchXML 请求
此代码在 IE 中有效,但在 Chrome 中无效……为什么?
$.ajax({
type: "POST",
dataType: 'xml',
contentType: "text/xml; charset=utf-8",
processData: false,
url: path,
data: fetchRequest,
beforeSend: function(xhr) {
xhr.setRequestHeader(
"SOAPAction",
"http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute"
); //without the SOAPAction header, CRM will return a 500 error
}
}).done(
function(data){
$(data).find("a\\:Entity").each(function () {
// loop entered in IE but not in chrome
}
}
);
编辑
问题不在于 ajax 调用,问题在于 .find() 没有从返回的 xml 中获取节点。
所以要清楚,我从每个浏览器中的请求中得到了看起来相同的 xml,但是这里的 find 方法
$(data).find('a\\Entity')
在 chrome 中不返回任何项目...它在 IE 中完美运行。