有什麼方法可以使用jQuery調用f#庫而不必將其包裝到Web服務方法中?jQuery Ajax調用F#?
回答
正如評論中提到的,您可以將F#翻譯爲JavaScript。這實際上非常可行,因爲它可以使用引號(F#代碼的高級表示)。有兩個項目可以做到這一點。一個是相當複雜的commercial project named WebSharper(它也有其他功能),另一個是open source project FSharp.Javascript。
如果你想避開網絡服務,你也可以編寫一個簡單的HTTP服務器。這將是一個獨立的應用程序,您可以在您的服務器上運行,它將直接處理請求。我在talk in London最近使用HttpListener
類。你可以find the sample here。
絕對有其他的方法 - 如果你在ASP.NET應用程序中工作,那麼你可以使用HttpHandler
或者用F#編寫的頁面直接處理請求。將主要前端作爲C#項目可能更容易,但是您可以在F#中編寫頁面/處理程序,只需在C#中引用它或繼承它(例如using ASP.NET MVC is here)。
+1:我的公司使用ASP.NET MVC + jquery來達到這個目的:jQuery對控制器方法進行Ajax調用,該方法返回一個JsonResult,jQuery可以將其解壓縮並顯示在屏幕上。我們在後端使用C#,但原則上沒有理由不使用F#。 – Juliet 2010-12-11 18:33:30
近幾個月來,FSharp.Javascript項目的改進非常激烈,我很想聽到一些反饋意見。我還創建了用於ASP.NET MVC框架的FSharp.Javascript.Mvc(https://github.com/jgreene/FSharp.Javascript.Mvc)項目。作爲一個例子,我在F#中編寫了俄羅斯方塊,它在這裏的瀏覽器中運行:http://fscript.justsimplecode.com/canvas – justin 2010-12-11 19:27:18
@謝謝你的全面回答和有用的鏈接! – dexter 2010-12-11 23:47:00
你可以寫一個HttpHandler作爲包裝器。
- 1. F#JQuery Ajax Post
- 2. jQuery ajax調用
- 3. jquery ajax調用mysql
- 4. Ajax調用jQuery中
- 5. JQuery的Ajax調用
- 6. ajax與jquery調用
- 7. jQuery AJAX回調
- 8. jquery Ajax回調
- 9. jQuery Ajax - 回調
- 10. Javascript的AJAX調用jquery調用
- 11. jquery中的ajax調用
- 12. JQuery的條件Ajax調用
- 13. jquery Ajax調用不成功
- 14. 的jQuery/JS:從Ajax調用
- 15. 定時JQuery AJAX調用
- 16. JQuery多個AJAX調用
- 17. jQuery的Ajax調用變量
- 18. 多個aSync ajax調用jquery
- 19. Jquery Ajax調用郵件到
- 20. jQuery Ajax調用觸發onClick
- 21. Phonegap jQuery Ajax來調用webservice
- 22. 從jquery返回ajax調用
- 23. jQuery:檢測ajax調用
- 24. jQuery Dynamic $ .post ajax調用
- 25. 從jquery Ajax調用Prestashop webservice
- 26. jQuery ajax調用REST服務
- 27. jquery ajax調用問題
- 28. jquery form ajax調用問題
- 29. pageinit和jquery ajax調用
- 30. jQuery的AJAX調用中止
我很難想象一個替代方案,就是編寫一個FSharp編譯器或IL反編譯器,它會生成JavaScript作爲其目標語言。你到底在找什麼?有什麼問題會使您拒絕將您的功能作爲服務公開? – JasonTrue 2010-12-11 02:58:58
您可以編寫自己的http服務器,基本上打開端口80並對相應的命令作出反應。 – 2010-12-11 03:05:15
@Jason,這是嚴格的理論測試項目,我正在努力解決。 – dexter 2010-12-11 23:45:08