2013-03-26 42 views
1

我从IE浏览器以外的其他浏览器调用web服务时,出现CRM javascript问题。查看我的代码以获取Web服务调用实现。XRM的替代Javascript使用ActiveX调用webservice

function RetrieveMultipleEntity(targetEntity, conditionAttributeName, conditionAttributeValue, targetId, targetAttribute) 
{ 
// Prepare variables to retrieve the contacts. 
var authenticationHeader = GenerateAuthenticationHeader(); 

// Prepare the SOAP message. 
// var xml = (the SOAP message) 

var xHReq = new ActiveXObject("Msxml2.XMLHTTP"); 

xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false); 
xHReq.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple"); 
xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); 
xHReq.setRequestHeader("Content-Length", xml.length); 
xHReq.send(xml); 
// Capture the result. 
var resultXml = xHReq.responseXML; 

return resultXml; 
} 

有一个关于此行的一个问题:

var xHReq = new ActiveXObject("Msxml2.XMLHTTP"); 

它正确地运行在IE浏览器,因为它可以使用的ActiveXObject但不幸的是它在Firefox/Chrome的失败。我正在寻找关于调用Web服务的替代方法的建议。谁能帮我?谢谢!

+0

可能重复[在Safari和Chrome AJAX对象?(http://stackoverflow.com/questions/1697188/ajax-object-在野生动物园和铬) – Sheepy 2015-04-17 09:59:01

回答

1

尝试

var xHReq = new XMLHttpRequest(); 

它的工作原理也为IE7 +