Create an XMLHTTP with JScript HTML

zhaozj2021-02-16  87

Create an XMLHTTP with JScript HTML

Dear Dr. Gui:

I have a question about XML. I published an ASP page via XMLHTTP and send data as HTML and execute Object.innerHTML on the DIV, Table cell, or any element.

The problem I encountered is, once, I created a form on the ASP server page and send the form with HTML back, so everything is normal. But I also want to verify the page, so I put a JScript page link to the text of the response HTML in the HTML I intend to send back. After doing this, the script can't run.

When I include the actual JScript SRC reference on the parent page, it can run normally. This is because JScript code is not loaded to the running library? Can you not return JScript code when responding to XMLHTTP POST and working properly? Can I instantly generate JScript functions for the page created?

I haven't tried to do this with another way: I will release XML data via XMLHTTP, and then send it back as XML data, and then use the XSL style sheet to convert. I guess, you can define the JScript function in that way. But this way seems too complicated. Do you have any suggestions or answers?

Thank you

Peter Sung

Dr. Gui Reply:

Yes, Peter, you can return Microsoft JScript code when responding to XMLHTTP Post / Get, and make the code to be executed. This is just like a piece of cake first, then eat it. Just like you guess, the best way to do this is to use the XSL style sheet; once you make all types of restore normal, this is easy. Dr. Gui can even provide a shortcomings. (Of course, there are other solutions. As long as the response contains the correct header and characters in the correct order, the browser will interpret response to respond to normal work. If necessary, you can use a string connection to generate a response.)

In the following example, Dr. GUI uses JScript to client code and VBScript (Microsoft Visual Basic scripting) in the ASP page. The adopted strategy is this: XML file only contains data (and reference to the style sheet). The XSL file contains all HTML formats that make up the full page (including a script located in the appropriate location). The ASP page mainly includes several calls to create an XMLHTTP object, load the XML file into the object (using implicit style sheet) and write the result HTML to the response stream.

To try this method, do the simple steps shown below. Use Notepad to copy and paste and save all files in C: / INETPUB / WWWROOT.

1. Create a file containing the following XML text and named books.xml. Write down the reference to the Books.xsl style sheet. In addition, this file contains only data. Ralls, kim midnight rain </ title> </ book> </ catalog > 2. Then, create a file containing the following code and named BOOKS.XSL. This file is a style sheet referenced by Books.xml created in step 1. It contains the information necessary to correctly format the above XML file as an HTML page, even on the HTML page including a script. <? XML Version = "1.0" encoding = "UTF-8"?> <xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/xsl/transform> <XSL : Output method = "html" indent = "yes" /> <xsl: template match = "/"> <html> <head> <title> test </ title> </ head> <script language = "jscript"> Function test_onload () {var objxml = new activXObject ("msxml2.domdocument"); objxml.async = false; objxml.Load ("books.xml"); Alert (objxml.xml); objxml = null;} </ script > <body οnlοad = "TEST_ONLOAD ()> <table border =" 1 "> <xsl: for-each select =" catalog / book "> <tr> <td> <xsl: value-of select =" author " /> </ td> <td> <xsl: value-of select = "title" /> </ td> </ tr> </ xsl: for-energy> </ table> </ body> </ html> </ XSL: Template> </ xsl: styleSheet> 3. Finally, create a file containing the following code and named books.asp.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-11910.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="11910" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.065</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'X2A4isDMp0rearrSYRENZuyPLMaPAbVrs_2FC2_2Bh01WEMc5ocB39BgaTztm35tChzY50Ql93ucBqYQTaQYcvIt3A_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>