Bug Tracker

Ticket #3004 (closed enhancement: wontfix)

Opened 7 years ago

Last modified 3 years ago

cache option for getScript

Reported by: eitanpo Owned by:
Priority: low Milestone: 1.5
Component: ajax Version: 1.2.6
Keywords: getScript cache Cc:
Blocking: Blocked by:

Description

now, in order to enable cache for loading scripts from another domain you have to change global ajax setting with ajaxSetup, and then to restore the original ajax settings.

cache option or options attribute for getScript can make life easier. example for this is using hosted javascript libraries like YUI.

Attachments

getpostoptions.patch Download (1.8 KB) - added by Rob Loach 6 years ago.
jQuery.get/post options

Change History

comment:1 Changed 7 years ago by ygirouard

Correct me if I'm wrong, but I thought .get, .post, .getJSON, .getScript, and .load were only shortcuts and simplified versions that wrap the more complex functionalities of .ajax().

If you want to have a cache option, then you should probably use $.ajax(options), and set the cache setting accordingly. It's not that hard to master and it does a lot more than the simplified versions...

i.e.:

var data = {param1:"value1",param2:"value2"};
var options = {
 data: data,
 url: "ajax.php",
 dataType: "script",
 cache: false,
 type: "GET"
 success: function(r){
  // DO SOMETHING ELSE HERE IF NEEDED
 }
}

$.ajax(options);

This will have the same effect as if you were using $.getScript() but you have some extra control.

comment:2 Changed 6 years ago by eitanpo

You are right, but this will make code less readable. Ease of use is an important reason too. My guess is that why getScript function is present in jQuery.

Why not code like this:

$.getScript("http://domain.com/script.js", {cache: true});

or

$.getScript("http://domain.com/script.js", true);

I think that .getScript is the only exception out of other .ajax wrappers to have cache control.

Changed 6 years ago by Rob Loach

jQuery.get/post options

comment:3 Changed 6 years ago by Rob Loach

The attached patch adds an options parameter to jQuery.get() and jQuery.post(), which is merged in with the defaults. This allows us to add an options parameter to the getScript() function, so we could essentially pass in { cache:true}, and it would merge it into the jQuery.ajax() call.  http://dev.jquery.com/attachment/ticket/3004/getpostoptions.patch

comment:5 Changed 4 years ago by addyosmani

  • Keywords needsreview added
  • Milestone changed from 1.3 to 1.5

This looks like it's going to be a wontfix. Marking for further review.

comment:6 Changed 4 years ago by rwaldron

  • Priority changed from major to low

Updating to low priority

comment:7 Changed 4 years ago by dmethvin

  • Keywords needsreview removed
  • Status changed from new to closed
  • Resolution set to wontfix

This is trivially easy to do by appending a random number to the url, or use $.ajax. $.getScript is meant to be simple and these changes would just complicate it.

Note: See TracTickets for help on using tickets.