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:
David Serduke 2007-11-29 19:07:20 +00:00
parent 7ac564cd98
commit 4b8f6cdc86
3 changed files with 15 additions and 1 deletions

View file

@ -217,7 +217,7 @@ jQuery.extend({
// If we're requesting a remote document // If we're requesting a remote document
// and trying to load JSON or Script // 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 head = document.getElementsByTagName("head")[0];
var script = document.createElement("script"); var script = document.createElement("script");
script.src = s.url; script.src = s.url;

View file

@ -0,0 +1 @@
json_assigned_obj = { "test" : "worked" };

View file

@ -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() { test("$.post(String, Hash, Function) - simple with xml", function() {
expect(4); expect(4);
stop(); stop();