我尝试使用跨域保存来自àjson文件的数据。所以我使用jsonp,但文件的扩展名为.js,所以当我尝试$ .ajax with dataType:'jsonp'时我在控制台中出错: 未捕获的SyntaxError:意外的令牌 该文件被解释为javascript文件,请求失败。您有没有想法获取数据而不会出现此错误。
$.ajax({
url : 'http://domaine.com/file.js',
contentType: "application/json; charset=utf-8",
dataType : 'jsonp',
success : function(data){
console.log(data);
// no enter in this callback
},
complete: function(data1, data2, data3){
// no data from file.js
}
});
当我在脚本中检查页面时,我发现了file.js,我可以看到所有信息,但是有一个错误,因为它是一个体贴的javascript文件。
感谢您的帮助。
答案 0 :(得分:0)
将您的json转换为正确的jsonp
jsonpcallback({"this":"is","my":"json"})
然后使用给定的回调请求它:
<script>
function jsonpcallback(data) {
console.log(data);
}
</script>
<script src="http://domain.com/file.js"></script>
你当然也可以用jQuery做到这一点:
$.ajax({
url: "http://domain.com/file.js",
dataType: "jsonp",
jsonpCallback: "jsonpcallback",
success: handler,
complete: handler,
error: handler
});