Hi,
I've downloaded this file :
http://www.json.org/json2.js
Added it to my index page before my own javascript file:
<script type="text/javascript" src="json.js"></script><br><br>Then i try to load a txt file like so :<br><br><!--STARTSCRIPT--><!--source lang="cpp"--><div class="source"><pre><br>var getXMLHttpRequest = function() <br> {<br> <span class="cpp-keyword">if</span> (window.XMLHttpRequest) {<br> <span class="cpp-keyword">return</span> <span class="cpp-keyword">new</span> window.XMLHttpRequest();<br> }<br> <span class="cpp-keyword">else</span> {<br> <span class="cpp-keyword">try</span> {<br> <span class="cpp-keyword">return</span> <span class="cpp-keyword">new</span> ActiveXObject(<span class="cpp-literal">"MSXML2.XMLHTTP.3.0"</span>);<br> }<br> <span class="cpp-keyword">catch</span>(ex) {<br> <span class="cpp-keyword">return</span> null;<br> }<br> }<br> };<br><br> <br> var loadJSON = function(url)<br> {<br> var xmlHttp = getXMLHttpRequest();<br> <br> <span class="cpp-keyword">if</span> (xmlHttp != null)<br> {<br> xmlHttp.open(<span class="cpp-literal">"GET"</span>, url, <span class="cpp-keyword">true</span>);<br> xmlHttp.onreadystatechange = function () {<br> <span class="cpp-keyword">if</span> (xmlHttp.readyState == <span class="cpp-number">4</span> && xmlHttp.status == <span class="cpp-number">200</span>){<br> JSON.parse(xmlHttp.responseText);<br> }<br> };<br><br><br> xmlHttp.send(null);<br> <br> <span class="cpp-keyword">return</span> xmlHttp.responseText;<br> <br> }<br> <span class="cpp-keyword">else</span><br> alert(<span class="cpp-literal">"Your browser does not support XML HTTP."</span>);<br> };<br> <br><br></pre></div><!--ENDSCRIPT--><br><br><br>The content of the text file is a simple JSON object which loads fine in Firefox, but in IE i get an error pointing to line JSON.parse(xmlHttp.responseText);<br><br>Anyone know what's wrong?
[web] JSON file and IE
Looks like it was a comma in the json file, running it through JSON validator brought it up.
The last comma was breaking things in IE.
{ "name": "Black knight", "images": { "image1" : "assets/1.jpg", "image2" : "assets/2.jpg", "image3" : "assets/3.jpg", "image4" : "assets/4.jpg", }}
The last comma was breaking things in IE.
This has been "corrected" in IE 8, though yes, for old versions you do need to strip out any trailing commas.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement