-1

I have seen a couple of other threads relatively similar but I still find my problem unique so I hope you guys give me a chance.

What I want to do: use proxy to bypass same origin policy and to save these values (that changes and need to be checked by timer) into variables that can be modified.

A server contains data.asp which looks something like this and updates from time to time (although with a bit more data):

{ "Title":"Tile of song" ,"Artist":"The artist" ,"Album":"The album" ,"CDCover":"/covers/randomcover.jpg" }

The method I have tried is like the one on http://qnimate.com/same-origin-policy-in-nutshell/#Same_Origin_Policy_for_AJAX. In case you guys don't want to follow the link I've posted the data here as well.

<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET","http://www.qnimate.com/ajaxdata.php",true);
xmlhttp.send();
}
</script>
</head>
<body>

<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>

And the proxy file:

<?php
   echo file_get_contents('http://www.qscutter.com/ajaxdata.txt');
?>

So what I want to do is store the data into variables that I can alter, not show it inside a div using innerHTML. Preferably check this ever so often for changes as well.

Suggestions?

I can add that I have the permission from the server owner to retrieve the information and to use it but no possibility to add script to their server, hence the proxy bypass attempt.

Leif
  • 1

1 Answers1

0

You are retrieving the data in the JSON-format?

{ "Title":"Tile of song" ,"Artist":"The artist" ,"Album":"The album" ,"CDCover":"/covers/randomcover.jpg" }

To load this in a var you need JSON.parse.

For example

var data = JSON.parse(xmlhttp.responseText);

When parsed through this function the object data contains the properties title, artist, album and CDcover.

Now you can modify the object

data['title'] = "I'll Be There This Christmas";
data['artist'] = "Gary Fomdeck";
//etc.

Please read introductions to JSON.

Mouser
  • 12,807
  • 3
  • 25
  • 51