]> gitweb.factorcode.org Git - factor.git/commitdiff
fjsc: cross domain json requests
authorchris.double <chris.double@double.co.nz>
Mon, 18 Dec 2006 07:20:23 +0000 (07:20 +0000)
committerchris.double <chris.double@double.co.nz>
Mon, 18 Dec 2006 07:20:23 +0000 (07:20 +0000)
libs/fjsc/resources/bootstrap.js

index 6de5fac895a4a972a595f82b8c5818cd3d70fd6f..c5d1815d72c4e4a44d5f26703bfa596c64987792 100644 (file)
@@ -569,6 +569,29 @@ factor.add_word("browser-dom", "document", "primitive", function(next) {
   factor.call_next(next);
 });
 
+factor.add_word("browser-dom", "load-script", "primitive", function(next) {  
+  var stack = factor.cont.data_stack;
+  $("head/script#jsonrequest").remove();
+  var script = document.createElement("script");
+  script.id = "jsonrequest";    
+  script.type = "text/javascript";
+  script.src = stack.pop();
+  $("head").append(script);
+  factor.call_next(next); 
+});
+
+var handle_json = false;
+factor.add_word("browser-dom", "json-request", "primitive", function(next) {  
+  var stack = factor.cont.data_stack;
+  var quot = stack.pop();
+  handle_json = function(data) { 
+    factor.cont.data_stack.push(data);
+    quot.func(function() { });
+  }
+  factor.get_word("browser-dom", "load-script").execute(next);
+});
+
+
 /* Run initial factor code */
 $(document).ready(function() {
   $.get("/responder/fjsc-resources/bootstrap.factor", function(result) {