龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

AJAX实践之与服务器通信(1)(2)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
createXML方法无非就是将内容以DOM的样式存到var xml(变量)里。有时也可能出现client直接将本地的一个XML文件直接以DOM(当然可以edit)的样式传送。(也放这
createXML方法无非就是将内容以DOM的样式存到var xml(变量)里。有时也可能出现client直接将本地的一个XML文件直接以DOM(当然可以edit)的样式传送。(也放这个时个的Content-Type应该为text/xml了!)这时可能要用到ActiveXObject("MSXML2.DOMDocument.3.0")这样一个控件了。

关于这个控件有个方法可以在各broswer中通用的JS代码:

// ------------------------------------------------
// Function: CreateXMLDOM
//
// Purpose: Creates a new XML DOM.
//
// Parameters: None
//
// Returns: XMLDOM object OR null
// -------------------------------------------------
function CreateXmlDOM()
{
 var oXML = new ActiveXObject(GetXmlParserProgID());
 try
 {
oXML.setProperty( " AllowXsltScript " , true );
 }
 catch (err) {}

 oXML.async = false ;
 oXML.validateOnParse = false ;
 oXML.resolveExternals = false ;
 oXML.setProperty( " SelectionLanguage " , " XPath " );
 try {oXML.setProperty( " NewParser " , true );} catch (e) {}

 return oXML;
}

// -------------------------------------------------
// Function: GetXmlParserProgID
//
// Purpose:
// Gets the ProgID of the highest available version of the
// Microsoft XML parser.
//
// Parameters: None
//
// Returns: String (i.e. "Msxml2.DOMDocument.4.0")
//
// -------------------------------------------------
function GetXmlParserProgID()
{
 var MAX_MAJOR_PARSER_VERSION = 10 ;
 var MIN_MAJOR_PARSER_VERSION = 0 ;
 var MAX_MINOR_PARSER_VERSION = 9 ;
 var MIN_MINOR_PARSER_VERSION = 0 ;

 var sProgID = g_sXmlParserProgID;
 var bFound = false ;

 if ( ! sProgID)
 {
// Iterate through possible versions
for ( var nMajor = MAX_MAJOR_PARSER_VERSION;

nMajor >= MIN_MAJOR_PARSER_VERSION; nMajor -- )
{
 for ( var nMinor = MAX_MINOR_PARSER_VERSION;

nMinor >= MIN_MINOR_PARSER_VERSION; nMinor -- )
 {
// Set up the classname for the version that

we're trying to instantiate
sProgID = " Msxml2.DOMDocument. " + nMajor + " . " + nMinor;

try
{
 if ( new ActiveXObject(sProgID))
 {
bFound = true ;
break ;
 }
}
catch (e)
{}
 }

 if (bFound)
 {
// store in a global variable to

speedup subsequent calls
g_sXmlParserProgID = sProgID;
break ;
 }
}
 }

 return sProgID;
}然后直接用其load方法(本地)。

var xmlDoc = new ActiveXObject( " MSXML2.DOMDocument.3.0 " );
xmlDoc.load(local_XML_FileName);

精彩图集

赞助商链接