2016-05-07 3 views
0

私はXMLHttpRequestを作成し、それを実行して(できるだけシンプルにするために)シンプルなjavascript関数を持っていて、結果として配列を返します。PureScriptとPulpを使用してサーバからバイナリファイルをダウンロードする正しい方法

exports.loadBinFile = function() { ... } 

私は、JSファイルにx.jsをそのスクリプトを持っている、と私は、一致するPureScriptファイルx.pursを持っており、それに:

foreign import loadBinFile :: forall e. Eff (fileLoad :: FILELOAD | e) (Array Int) 

すべてが細かい、よくそれについてです、私はブラウザオブジェクトであるXMLHttpRequestを使用しています。パルプを実行しようとすると、XMLHttpRequestが定義されていないというエラーが発生します。

上記のオブジェクトを含むxmlhttprequestという名前のnpmパッケージをインストールしようとしましたが、同様のバワーパッケージを試しましたが、どちらも失敗します。

私はJavaScriptには比較的新しいので、私が間違ったことをしようとしている方法が間違っていると思います。これに近づく正しい方法は何でしょうか?

私はこのスクリプトを.htmlファイルの中に入れて修正することができますが、これを正しく実行したいと思います。つまり、.pursと.jsファイルが一致していて、パルプに仕事をさせたいのです。

どうすればいいですか?

ありがとうございます!

答えて

1

purescript-affjaxはXHR要求に基づいており、ノードとブラウザの両方で動作します。あなたはそれをやって継続したい場合は

は、自分とはいえ、その理由XMLHTTPRequestも、あなたはまた、requireにノードでそれが公開されるモジュールが必要になりますされnpm経由でのパッケージをインストールした後、まだ定義されていません。私はその一例を使用して、我々はxmlhttprequestでいくつかの問題を持っていたと思うと私たちは、あなたのFFI JSにあなたは、このような機能のものを使用したいと思うAffjaxにnpmからxhr2を使用

var newXHR = function() { 
    if (typeof module !== "undefined" && module.require) { 
    var XHR = module.require("xhr2"); 
    return new XHR(); 
    } 
    return new XMLHttpRequest(); 
} 

むしろnew XMLHTTPRequest()に電話をかけようとするよりも、 affjax FFI codeにもう少し関わっていますが、類似のものを見ることができます。

+0

実際には、この質問を投稿してからしばらくして、私はAffjaxにつまずいた!私はあなたの疑惑を検証したので、これが私のニーズに答えるかもしれないという疑いがありました。 「require」については、requireを使用しましたが、npmのxmlhttprequestを使用しましたが、そのあとでオブジェクトが不明であるというエラーではありませんでした。エラーは、未定義の属性(xmlhttprequestのjsファイル内)を設定していました。代わりにxhr2を試みて、このエラーに関する閉鎖を試みます。 とにかく、affjaxはこれについて正しい方法です。ありがとう! – PsyFish

関連する問題