我正在看14天的jquery
http://jquery14.com/day-01/jquery-14
我看到了这一点,让我想知道是否有一点使用getJson了?
自动检测到的JSON和脚本类型 content-type(jQuery.ajax 文档,提交1,提交2)
如果对Ajax请求的响应是 以JSON mime类型返回 (application / json),dataType 默认为“json”(如果没有dataType 指定)。另外,如果 对Ajax请求的响应是 使用JavaScript mime类型返回 (text / javascript或 application / x-javascript),. dataType默认为“script”(如果没有 指定了dataType,导致 脚本自动执行。
首先,我可以看到这样的巨大好处。在jquery 1.3中我遇到了一种情况,在某些情况下我会返回一个局部视图,有些情况下我会返回一个json结果(asp.net mvc)。
它在firefox中工作但是没有其他浏览器,其中一个问题是我基本上不得不告诉jquery做json或text / html。
随着它自动检测我可以逃脱这个。无论如何,我当时找到了一个解决方案。
所以现在它让我想知道使用GetJson是否有任何意义。
我也不确定如何设置这些JavaScript mime类型?我假设如果你从asp.net mvc返回一个JsonResult,它将设置它。但我不确定我是否只是发送文本结果如果它被设置(我不确定ContentResult是否会设置它)。
答案 0 :(得分:2)
如果只需要.getJson()提供的功能,它仍然可以作为速记方法使用。就个人而言,我通常最终会在大多数时间使用.ajax()来进行自定义。
编辑: JP在评论中提出了一个很好的观点,作为一种速记方法,自动检测MIME类型,.getJson基本上被渲染为.get,因为$ .getJson(a,b) )会做与$ .get(a,b)完全相同的事情。