use*_*446 35 javascript url jquery
我意识到,从根本上说,我可能会以错误的方式解决这个问题,所以我愿意向正确的方向努力.
我正在尝试使用HipChat API向房间发送通知,如下所示:
https://www.hipchat.com/docs/api/method/rooms/message
我正在尝试使用js对象的参数在示例中构建URL,所以基本上我正在尝试转换它:
var hipChatSettings = {
format:"json",
auth_token:token,
room_id: 1,
from: "Notifications",
message: "Message"
}
Run Code Online (Sandbox Code Playgroud)
对此:
mit*_*esh 48
你应该检查这个jQuery.param函数.
var params = { width:1680, height:1050 };
var str = jQuery.param( params );
console.log(str);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
Ama*_*dan 40
Object.keys(hipChatSettings).map(function(k) {
return encodeURIComponent(k) + "=" + encodeURIComponent(hipChatSettings[k]);
}).join('&')
// => "format=json&auth_token=token&room_id=1&from=Notifications&message=Message"
Run Code Online (Sandbox Code Playgroud)
警告:新的JavaScript.如果你想让它适用于古人,垫片或重写for
.
mač*_*ček 12
这样的事可能对你有用
var str = "?" + Object.keys(hipChatSettings).map(function(prop) {
return [prop, hipChatSettings[prop]].map(encodeURIComponent).join("=");
}).join("&");
// "?format=json&auth_token=token&room_id=1&from=Notifications&message=Message"
Run Code Online (Sandbox Code Playgroud)
如果你不能依赖ECMAScript 5,你可以使用一个简单的for循环
var pairs = [];
for (var prop in hipChatSettings) {
if (hipChatSettings.hasOwnProperty(prop)) {
var k = encodeURIComponent(prop),
v = encodeURIComponent(hipChatSettings[prop]);
pairs.push( k + "=" + v);
}
}
var str = "?" + pairs.join("&");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39341 次 |
最近记录: |