Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome检测到未被拒绝的令牌“:&引用;即使它不是';不在那里_Javascript_Jquery_Json_Google Chrome - Fatal编程技术网

Javascript Chrome检测到未被拒绝的令牌“:&引用;即使它不是';不在那里

Javascript Chrome检测到未被拒绝的令牌“:&引用;即使它不是';不在那里,javascript,jquery,json,google-chrome,Javascript,Jquery,Json,Google Chrome,我尝试使用以下jQuery代码从google distancematrix API获取JSON数据: <script type="text/javascript"> $(document).ready(function(){ url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinatio

我尝试使用以下jQuery代码从google distancematrix API获取JSON数据:

<script type="text/javascript">
    $(document).ready(function(){
        url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=AIzaSyC1YPi3w46cOyrkUa8s0vR9QHzeoQCoum4";
        $.ajax({
          type: "GET",
          url: url,
          dataType: "json",
          jsonpCallback: "results"
        })

        function results(data) {
            console.log("data" + data);
        } 
    });
</script>

$(文档).ready(函数(){
url=”https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC和目的地=纽约+纽约+城市,纽约和基=Aizasyc1ypi3w46coyrkua8s0vr9qhzeoqoum4”;
$.ajax({
键入:“获取”,
url:url,
数据类型:“json”,
jsonpCallback:“结果”
})
功能结果(数据){
控制台日志(“数据”+数据);
} 
});
如果我查看浏览器(Google Chrome)的控制台,我会收到以下错误消息:

未捕获的语法错误:意外标记:

如果我点击这个JSON文件,我会得到“无需预览”

编辑:

我在“我的网络”选项卡中看到此答复:

奇怪的是,正确的JSON响应被发送到我的浏览器:


这是一场鬼鬼祟祟的比赛,我确实花了几位客人的时间:

//Change this:
dataType: "jsonp",
// to this:
dataType: "json",
可能是相关的我是如何找到它的,以便下次您可以执行(我在控制台中执行了所有这些操作,但在脚本/文件中也可以):

  • 首先,我只是输入了url->没有错误,所以没有奇怪的url,或其他时髦的东西
  • 然后只需
    结果
    函数->仍然没有错误。现在我们知道它在ajax调用中
  • 在我的编辑器中输入ajax函数,如下所示:
    • 首先,所有这些->我得到了错误
    • 现在只需使用类型和URL->无错误的AJAX函数
    • 在->错误中重新添加了数据类型
    • 删除数据类型并添加回调->无错误
    • 现在我们知道它一定是数据类型行
  • 把那句话抄写给我的编辑,并把字体放大到巨大
    • 所有的角色看起来都很好,没有古怪的引语
    • 手动重新键入整行内容(无副本/过去),并尝试->错误
    • 现在我们知道要么是不正确的键,要么是不正确的值
  • 打开文档,查看如何拼写(大写字母T,当然?->正确
  • 打开文档,查看正确的值->等待,没有JSONP
  • 更改代码,“jsonp”->“json”->工作代码
跨域“json”请求转换为“jsonp”


所以jquery在内部为您做了这件事。

我认为您最终还是会遇到CORS问题。我建议使用谷歌API的文档以不同的方式进行处理。它相当简单,为您提供了更多的选择,效果更好:

(函数($){
函数init(){
var origin=‘英格兰格林威治’;
var目的地=‘瑞典斯德哥尔摩’;
var service=new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
来源:[来源],
目的地:[目的地],
travelMode:“驾驶”
},回调);
函数回调(响应、状态){
//有关详细信息,请参见分析结果
//回调函数的基础知识。
控制台日志(响应);
}
};
$(窗口).ready(函数(){
init();
});
})(jQuery)


请使用
控制台.log(“数据:”,数据)并查看它记录了什么?警报可能只显示[object object],您确定这不是触发错误的响应吗?你确定要发回格式正确的JSON?在您的网络选项卡中,响应是什么样子的?它是否会触发?您将得到一个
JSON
响应,因为端点没有返回
JSONP
。在URL中,端点也在查询参数之前指定为
json
。我怀疑你能用
JSONP
(谷歌不会返回)这个练习是为了一个讲座,禁止使用谷歌库来处理JSON数据(我不明白为什么,但它是这样的)。谷歌不会随意用
JSONP
响应
JSON
请求(见端点:)。你可以试着强迫这个反应,你会得到一个反应(200),但你不能用它做任何事情。这里有各种各样的解决方案,但您的方法始终会遇到CORS。我讨厌毫无意义的课堂练习。你能给我看看你的全部html代码吗?我编辑了我的问题,也许这些额外的信息对你有帮助。我使用了你的js,只是把它复制到了我的控制台上。我只改变了P,就是这样。然后我得到一个回复,上面写着“unvailid token”,然后你会得到和我一样的错误。Google Chrome似乎不知道如何解释json数据,并将
检测为无效令牌。你知道怎么解决这个问题吗?我怀疑数据不正确,如果是这样的话,所有的恐慌都会消失。如果这不能解决它,我不知道。taht为我工作你刚才说你得到了错误
无效的令牌
,那么如果你得到了错误,它是如何为你修复的呢?