一尘不染

XMLHttpRequest responseType =“ json”给出错误SYNTAX_ERR:DOM异常12

ajax

我在将XHR responseType设置为“ json”时遇到麻烦。如果我将其保留为空字符串,则工作正常,xml.responseType = "";但是当我将其设置为“ json”时,会收到控制台错误消息SYNTAX_ERR:DOM异常12。

.js文件:

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

.php文件:

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

不知道发生了什么。


阅读 418

收藏
2020-07-26

共1个答案

一尘不染

responseType``XMLHttpRequest对象的属性已添加到其新的变体XMLHttpRequest Level
2中
,并且包含在中HTML 5,我不确定所有浏览器都支持此方法,因此您可能使用的是未实现该方法的浏览器

而不是使用,responseType您可以使用以下代码来获取所需格式的数据

 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);
2020-07-26