为什么这些.getJSON和.ajax函数的行为有所不同?

时间:2016-10-31 05:34:08

标签: jquery json ajax

我正在尝试异步加载远程json文件。我花了很长时间试图调试我期望工作的功能。我还是比较新的JS,并且想了解为什么会发生这种情况。

我期望工作的功能返回undefined

$.ajax({
  dataType: 'json',
  url: $url
})
.done(function(data) {
  console.log( data );
});

此函数返回预期的json对象

$.getJSON( $url, function( data ) {
  console.log(data);
});

我认为这些功能是等效的。这里发生了什么?

2 个答案:

答案 0 :(得分:0)

您在ajax方法中设置了错误的属性。 type应该是GET,POST等,但你要将它设置为json。

“type是方法的别名。如果您使用的是1.9.0之前的jQuery版本,则应该使用type。”

为了使其正确,您需要将dataType设置为'json',并且所有内容都应该落实到位。您可以在jQuery Docs site

上阅读有关ajax API的更多信息

答案 1 :(得分:0)

试试这个

Tracking Id