Make a Cross-Domain request for XML from a local file

I am not sure if this is even possible. Basically I want to load a local html file on a client PC and have it make a request to a remote server. The data served up by the server is XML.

When I say I am loading a file, I mean the URL in chrome appears as "file:///E:/..."

This is the closest I have gotten to being able to load the XML. I inspected the network tab on the client end and its successfully loading, I just cant seem to get the XML into an element I can inspect:

 var script = document.createElement('script');

 script.setAttribute('src', 'http://xxx.xx.xx.xxx:xxxx/myxmldata');

 script.setAttribute('type', 'text/xml');

 script.setAttribute('id', 'myxml');

 document.getElementsByTagName('head')[0].appendChild(script); 

 var content = document.getElementById("myxml").responseText;// anything I can do here?

 console.log(content);

An AJAX solution would work too. I didn't have any luck with JSONP (this isn't JSON, though).

Answers:

Answer

Well, if you are having a problem with the cross domain policy, you might need to build some sort of proxy that will do the request for you. (Its pretty simple to make)

If you want to open a JavaScript file to make an Ajax request I'd use Dojo to parse the XML.

You have a nice example here: http://dojotoolkit.org/reference-guide/dojo/xhrGet.html

Hope it helps.

Answer

Regardless of payload type JSON or XML what you are doing is JSONP and the result is a javascript function call. So the response must be a valid javascript function call with XML data as input to that function.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.