解析JsonP错误

时间:2014-04-09 09:14:12

标签: javascript jquery json parsing jsonp

我正在尝试解析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>

2 个答案:

答案 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',

在添加上述属性后再尝试