2014-06-23 71 views
0

之前,我尝试此代码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> 

但响应**语法错误:缺少;陈述前**

为什么?

回答

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); 
    } 
}); 
+0

在女巫的方式我可以这样做吗? – colapiombo

+0

您必须在服务器端执行此操作:如果您无法修改服务器上的请求,那么您应该询问开发人员是否有可以传入查询字符串的参数它以jsonp格式返回文本。否则是不可能的请求作为jsonp – ElLocoCocoLoco

+0

我不能修改服务器端,如果我添加“jsonpCAllback”我继续收到相同的错误... – colapiombo

0

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