I am making a cross domain request in javascript by dynamically adding a script and setting its src attribute to the domain that I need to make request to. For reference: http://alvinabad.wordpress.com/2009/02/13/feb13/
Script code:
var script_id = null;
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', crossDomainURL);
script.setAttribute('id', 'script_id');
script_id = document.getElementById('script_id');
if (script_id) {
document.getElementsByTagName('head')[0].removeChild(script_id);
}
Now, I need to parse the Response of this request. I have checked the Raw Response from fiddler. The data is there, but it's not in the dom. It starts like this:
<script type="text/javascript">
/* <![CDATA[ */
if (top == self || parent != top || document.location.hostname != document.domain)
{
top.location.replace("http:\/\/www.facebook.com\/?gringotts_redir");}
/* ]]> */
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"**... then the rest
The page source shows the javascript embedded by me, how do I parse the data that's generated from that code.
The way this is generally done is to have the script response consist of a function call to a function already present on the page. The browser will not let your code "see" the contents of the imported script, however, for security reasons. The browser will run the script, however, so long as it's valid JavaScript code. In your case, the response is not valid JavaScript code. There can't be a <script>
tag or any HTML markup — it must be pure JavaScript code, just like the contents of any other file imported with a <script>
tag.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With