0

我有一个从位于 的 Web.API 应用程序提供的页面http://server/application。在客户端,我正在执行 GET 以从服务器中提取一些数据。问题是我认为应该行不通的事情。

此代码有效:

$.ajax( {
    url: "api/slideid/getdirectories/",
    dataType: 'json',
    success: function ( data ) {
        setPaths( data );
    }
} );

但这不会:

$.getJSON( "api/slideid/getdirectories/",
    function ( data ) {
        setPaths( data );
    } );

在第一个示例中,我在 fiddler 中看到它尝试从中检索数据的 url 是http://server/application/api/slideid/getdirectories,这是正确的。

第二个是http://server/api/slideid/getdirectories,这是不对的。我在想这两种 json GET 方法是一样的......但似乎它们不是?

有趣的是,这两种方法都适用于我的本地开发盒——它只在我的登台服务器上有效,而另一种无效。据我所知,IIS 设置是相同的——而且我进行了很好的检查。

所以我想知道为什么 getJSON 不起作用,当 jQuery文档声明 getJSON 只是 .ajax 调用的简写?

编辑:我已经输入了一个明确的 getJSON 版本,希望表明它们是非常相似的调用,但现在有了“真正的”getJSON 调用。

4

2 回答 2

6

你有一个错误的实现$.getJSON()这应该是:

$.getJSON(url, {data:data}, function(data){
     alert(data);
});

哪里{data:data}是可选的。

从文档:

这是一个简写的 Ajax 函数,相当于:

$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});
于 2013-03-20T18:48:37.753 回答
0
  $.getJSON(url, {data:data}, ....

语法错误

于 2013-03-20T18:50:07.647 回答