如何扩展jQuery的ajax

时间:2011-09-23 04:25:15

标签: javascript jquery

这是一个语法问题,我将解释它jQuery的ajax功能。

假设我想根据dataType控制所有ajax请求的url。例如,带参数&parseJSON=true的网址应自动包含'JSON'的数据类型。

例如:

$.myajax({url:'http://example.com&parseJSON=true'})

应该相当于

$.ajax({url:'http://example.com&parseJSON=true', dataType: 'JSON'})

基本上,我需要检查URL并在需要时添加dataType参数。

由于

1 个答案:

答案 0 :(得分:3)

我认为你可以用预滤器做到这一点:

$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
  // Modify options
  if ( !options.dataType && /parseJSON=true/.test(options.url) ) {
    return "json";
  }
});

我目前没有环境来测试这个。

编辑:只是为了澄清,你会像现在一样使用ajax请求,使用$ .get,$ .post和$ .ajax,你不必再提供dataType了。