Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XMLHttpRequest responseType = "json" giving error SYNTAX_ERR: DOM Exception 12

Tags:

I am having trouble setting the XHR responseType to "json". It works fine if I leave it an empty string xml.responseType = ""; but when I set it to "json" I get the console error message SYNTAX_ERR: DOM Exception 12.

The .js file:

var xml = new XMLHttpRequest(); xml.open("GET", "test.php", true); xml.responseType = "json"; xml.send(); 

The .php file:

<?php $foo = "{\"key1\":\"val1\", \"key2\":\"val2\"}"; echo $foo; ?> 

Not sure what's going on.. Any ideas?

like image 912
alnafie Avatar asked Mar 23 '12 19:03

alnafie


1 Answers

responseType property for XMLHttpRequest object is added in its new variant XMLHttpRequest Level 2 and which is included in HTML 5, i am not sure all browsers support this method so it could be possible that you are using a browser which doesn't implement that method

instead of using responseType you can use following code to get data in desired format

 var xml = new XMLHttpRequest();  xml.open("GET", "test.php", true);   xml.onreadystatechange = function() {    if (xml.readyState != 4)  { return; }     var serverResponse = JSON.parse(xml.responseText);  };   xml.send(null); 
like image 200
Saket Patel Avatar answered Oct 06 '22 07:10

Saket Patel