Ticket #3224 (closed bug: fixed)
$.ajax type=script error while using base tag
| Reported by: | guai | Owned by: | |
|---|---|---|---|
| Priority: | trivial | Milestone: | |
| Component: | ajax | Version: | 1.2.6 |
| Keywords: | ajaxrewrite | Cc: | |
| Blocking: | Blocked by: |
Description
Hello. I guess, I found a little bug.
I use 3rd level domains on my host. Like jjj.test.ru And set <base>'s href attribute to access files|css|js from 2nd level domain (test.ru) with short urls like /files/jjj.jj And I need to send asynchronous requests. Setting document.domain to "test.ru" does not work on some browsers to allow cross-domain ajax requests. So I use
$.ajax({
type: "GET", url: "/some_addr", (!!!) data: ..., success: function(data) {
... },
dataType: "script" });
and it does not work too because of remote.test(s.url) in following line of jquery-1.2.6.js returns false
if ( s.dataType == "script" && type == "GET"
&& remote.test(s.url) && remote.exec(s.url)[1] != location.host ){
Of course it can be easily fixed with writing full-formed url, but, erm... :/
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

And some more: #2677: head.removeChild( script ); should be changed to $(script).remove(); because in IE the script finds himself inside <base> tag :)