2014-02-27 17 views
8

Auf meiner App muss ich einige Ajax-Anrufe machen und ich versuche, jQuery dafür zu verwenden.JQuery Ajax ruft Scala.js

Die Art, dies zu tun, wäre, ein Objekt vom Typ JQueryAjaxSettings an jQuery.ajax (URL: String, Einstellungen: JQueryAjaxSettings) übergeben. Aber ich konnte keinen Weg finden, ein solches Objekt zu instantiieren.

Ich habe versucht, die Klasse mit einem Objekt, einer einfachen Klasse zu erben, aber keiner von diesen funktioniert.

Wie geht es weiter?

Antwort

12

Sie js.Dynamic.literal verwenden müssen die settings Argumente zu konstruieren, und es in den entsprechenden Typ gegossen, wie folgt aus:

import scala.scalajs.js 
import org.scalajs.jquery._ 

jQuery.ajax(js.Dynamic.literal(
    url = "http://www.w3.org/People/Berners-Lee/card", 
    success = { (data: js.Any, textStatus: js.String, jqXHR: JQueryXHR) => 
     console.log(s"data=$data,text=$textStatus,jqXHR=$jqXHR") 
    }, 
    error = { (jqXHR: JQueryXHR, textStatus: js.String, errorThrow: js.String) => 
     console.log(s"jqXHR=$jqXHR,text=$textStatus,err=$errorThrow") 
    }, 
    `type` = "GET" 
).asInstanceOf[JQueryAjaxSettings])