我正在尝试解析Json,它是here。当我启动浏览器时,2秒后出现错误:
资源解释为脚本但使用MIME类型text / html传输:
为什么呢?这是什么错误?
JS
function example()
{
alert("hello nice");
var URL = "http://sath3g.altervista.org/index.php";
$.ajax(URL, {
crossDomain: true,
dataType: "jsonP",
type: 'GET',
success: function (data, text, xhqr) {
$.each(data, function(i, item) {
alert(item);
});
},
});
}
HTML
<!DOCTYPE html>
<html>
<head>
<title>Parse Json</title>
<script src="parse.js"></script>
<script type="text/javascript" src="jquery-2.1.0.min.js"></script>
</head>
<body onload="example()">
<header id="title">
Parsami tutta
</header>
<form>
</form>
</body>
</html>
答案 0 :(得分:0)
您不会犯错误(除非您也是网络服务的作者)。 sath3g.altervista.org
正在为其JSON和JSONP文档发送错误的Content-Type
HTTP响应标头。
看起来它是由知道某些PHP的人写的,但对HTTP不够。默认情况下,PHP会声称它正在输出HTML,如果要发送JSON(header("Content-Type: application/json")
)或JSONP(header("Content-Type: application/javascript")
),则需要显式覆盖它。
答案 1 :(得分:0)
您需要修改ajax call property
dataType: 'jsonp',
这里jsonp是小案例
jsonp: 'jsonp',
在添加上述属性后再尝试