Fixed #1557, although it doesn't appear to be just an FF3 problem. In this case, $.getJSON() wasn't working from a remote host. I went ahead and added a unit test then added the s.dataType == "json" test for a remote <script> load. The said that json was allowed but the dataType check was missing. This appears to have fixed the bug across all browsers.
This commit is contained in:
parent
7ac564cd98
commit
4b8f6cdc86
3 changed files with 15 additions and 1 deletions
|
@ -217,7 +217,7 @@ jQuery.extend({
|
|||
|
||||
// If we're requesting a remote document
|
||||
// and trying to load JSON or Script
|
||||
if ( !s.url.indexOf("http") && s.dataType == "script" ) {
|
||||
if ( !s.url.indexOf("http") && ( s.dataType == "script" || s.dataType =="json" ) ) {
|
||||
var head = document.getElementsByTagName("head")[0];
|
||||
var script = document.createElement("script");
|
||||
script.src = s.url;
|
||||
|
|
1
test/data/json_assigned_obj.js
Normal file
1
test/data/json_assigned_obj.js
Normal file
|
@ -0,0 +1 @@
|
|||
json_assigned_obj = { "test" : "worked" };
|
|
@ -513,6 +513,19 @@ test("$.getJSON(String, Function) - JSON object", function() {
|
|||
});
|
||||
});
|
||||
|
||||
test("$.getJSON(String, Function) - Remote JSON object with assignment", function() {
|
||||
expect(2);
|
||||
|
||||
var base = window.location.href.replace(/\?.*$/, "");
|
||||
|
||||
stop();
|
||||
$.getJSON(base + "data/json_assigned_obj.js", function() {
|
||||
ok( typeof json_assigned_obj == "object", 'Check JSON loaded' );
|
||||
equals( json_assigned_obj.test, "worked", 'Check JSON obj.test' );
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
test("$.post(String, Hash, Function) - simple with xml", function() {
|
||||
expect(4);
|
||||
stop();
|
||||
|
|
Loading…
Reference in a new issue