【发布时间】:2011-06-26 14:54:11
【问题描述】:
我正在为Facebook Feed Dialog 格式化一个URL。不过参数太多了。我想为这些对话框提供一个功能,例如:
function generateDialogUrl(dialog, params) {
base = "http://www.facebook.com/dialog/" + dialog + "?";
tail = [];
for (var p in params) {
if (params.hasOwnProperty(p)) {
tail.push(p + "=" + escape(params[p]));
}
}
return base + tail.join("&")
}
哦哇...我想我刚刚回答了我自己的问题。那正确吗? escape() 是正确使用的函数吗?
我被困在Lovers source code。
更新:由于我们使用的是 jQuery,因此我使用 jQuery.each 重写了该方法。我还按照@galambalazs 和@T.J. 的建议将escape() 替换为encodeURIComponent()。克劳德。谢谢各位!
var generateDialogUrl = function (dialog, params) {
base = "http://www.facebook.com/dialog/" + dialog + "?";
tail = [];
$.each(params, function(key, value) {
tail.push(key + "=" + encodeURIComponent(value));
})
return base + tail.join("&");
}
它正在工作!
【问题讨论】:
-
如果它解决了您的问题,您可以接受答案。 :)
-
此外,答案不应放在问题正文中;相反,所有者应该回答自己的问题并标记为已接受。
-
仅供参考 intelligrape.com/blog/2011/05/04/… 喜欢另一种方式..
标签: javascript json iterator escaping urlencode