Jsonp请求返回丢失; SyntaxError:missing;在声明之前

时间:2014-06-23 08:26:14

标签: jquery ajax json rest jsonp

我试试这段代码

<body>
<script>

$.ajax({
    type: "GET",
    dataType: "jsonp",
    url: "http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/statistiche/1403508155490",
    success: function(result) {
        console.log("SUCCESS");
        console.log(result);
    },
    error: function(result) {
        console.log("ERROR");
        console.log(result);
    }
});                    

</script>

但响应是** SyntaxError:missing;在陈述之前**

为什么?

2 个答案:

答案 0 :(得分:1)

您请求的网址返回文字:

{"treniGiorno":2843,"ultimoAggiornamento":1403513918086,"treniCircolanti":524}

正确的返回文本应为:

jsonCallback({"treniGiorno":2843,"ultimoAggiornamento":1403513918086,"treniCircolanti":524});

还要考虑将jsonpCallback参数添加到ajax查询中,如下所示:

$.ajax({
    type: "GET",
    dataType: "jsonp",
    jsonpCallback: 'jsonCallback',
    url: "http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/statistiche/1403508155490",
    success: function(result) {
        console.log("SUCCESS");
        console.log(result);
    },
    error: function(result) {
        console.log("ERROR");
        console.log(result);
    }
});

答案 1 :(得分:0)

这是因为响应中返回的字符串不是有效的jsonp格式。您可能需要阅读this