微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Yesod:在AJAX调用中使用类型安全的URL

在我的Yesod项目中,我有以下路线:
/api/hide/thread/#Text/#Int      ApiHideThreadR   GET

我想在客户端请求它与javascript:

function hideThreadCompletely(threadId,board) {
    $.getJSON("/api/hide/thread/"+board+"/"+threadId,function(data) {
        $('#thread-'+threadId).hide();
    });
}

但是我不能使用@ {ApiHideTHreadR},因为Yesod需要编译时的参数.如果我想要API URLS看起来像api / board / 1/1,而不是api / board?bid = 1& tid = 1,那么这是什么正确的解决方案?继续使用手动定义的URL,如“/ api / hide / thread /”board“/”threadId?

解决方法

经过一些搜索,我发现这个 discussion,在那里建议你添加url作为一个“data-url”属性到一些元素.然后从元素加载url.
这样的事情
<div id="thread-1" data-hide-url=@{ApiHideTHreadR}>

var url = $("#thread-1").data("hide-url")

原文地址:https://www.jb51.cc/ajax/154107.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐