首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在F# JS代码中通过Ajax使用来自FunScript主机的类型

在F# JS代码中通过Ajax使用来自FunScript主机的类型
EN

Stack Overflow用户
提问于 2014-11-16 12:17:17
回答 1查看 162关注 0票数 1

如何使用在宿主项目中声明并在生成的FunScript代码中通过Ajax服务的类型?

例如,假设我声明一个类型T,然后创建一个REST端点,以该格式提供数据服务。现在,如果我想从FunScript加载数据并使用它,那么它不再键入T。

根据Alfanso的答案编辑了解决方案:

假设"MyType“类型是在基本F#项目中定义的,并且该类型与本地主机上的数据匹配:6543/myData

代码语言:javascript
复制
let start () =
  async{  
    let url = "http://localhost:6543/myData"
    let req = System.Net.WebRequest.Create(url)
    let! data = req.AsyncGetJSON<MyType list>()
    Globals.window.alert( (sprintf "%A" data) )
  }
  |> Async.StartImmediate

我错过的是

  • req.AsyncGetJSON
  • 使用Async.StartImmediate
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-16 13:38:29

你能不能发布一些代码,看清楚你到底想做什么?作为参考,您可以看到如何在此FunScript.HTML中使用小工程扩展来交换类型安全的JSON值的示例。在这种情况下:

  • 类型在服务器、客户端和数据库之间共享,使用具有CLIMutableSystem.Data.Linq.Mapping.Table属性的System.Data.Linq.Mapping.Table记录:来源
  • 对于服务器,我使用JSON,它透明地将类型发送为ASP.NET:来源
  • 在客户机中,我使用来自FunScript.HTML的FunScript.HTML扩展,它在后台只发出一个XMLHttpRequest,使用browser JSON.parse方法解析结果,并使用unbox<'T>将对象“强制转换”到所需的类型:这里这里这里

如果您想在unbox<'T>中以静态类型的方式使用动态类型,那么通常需要使用F#。

我希望这能帮到你!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26956814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档