我正在尝试编辑一个我在AJAX调用中发送的URL。
function saveEdit() {
// logic for updating an existing item
$.ajax({
url: "https://localhost/api/1/databases/geolocation/collections/boom/"+globalData._id.$oid+"?apiKey=veTqID_gkb74tG-yL4MGcS1p2RRBP1Pf",
type: "PUT",
data: JSON.stringify({ Item:Item.value , Location: Location.value , Category: Category.value , Description : Description.value , Quantity: Quantity.value}),
contentType: "application/json"
});
在上面的代码中我想替换" localhost"来自IP,当网站是UP。我将从配置文件中读取IP。
尝试连接字符串,没有用。有什么建议吗?
预期是:
https://x.x.x.x/api/1/databases/geolocation/collections/boom/
答案 0 :(得分:0)
试试这个:
function saveEdit() {
var useLocalHost = false; // flag to taest if you want to do the replace or use the localhost parameter
var localhostUrl = "https://localhost/api/1/databases/geolocation/collections/boom/"+globalData._id.$oid+"?apiKey=veTqID_gkb74tG-yL4MGcS1p2RRBP1Pf";
var url = useLocalHost ? localhostUrl : localhostUrl.replace("localhost","x.x.x.x");
// logic for updating an existing item
$.ajax({
url: url,
type: "PUT",
data: JSON.stringify({ Item:Item.value , Location: Location.value , Category: Category.value , Description : Description.value , Quantity: Quantity.value}),
contentType: "application/json"
});
}
答案 1 :(得分:0)
!!!
%title Hello
%link{:rel => 'stylesheet', :href => url('style')}
答案 2 :(得分:0)
首先,如何使用参数:
function saveEdit(host, key) {
// logic for updating an existing item
$.ajax({
url: "https://" + host + "/api/1/databases/geolocation/collections/boom/"
+ globalData._id.$oid + "?apiKey=" + key,
type: "PUT",
data: JSON.stringify({ Item:Item.value ,
Location: Location.value ,
Category: Category.value ,
Description : Description.value ,
Quantity: Quantity.value}),
contentType: "application/json"
});
但是,现在你已经推出了将saveEdit函数中的host
移到调用者的位置。
如果主机与提供简单易用的页面的主机相同,那么它就是
saveEdit( window.location.hostname, myApiKey )
如果它是某些其他主机,从你说的配置文件(你的服务器上的配置文件在哪里?),你必须以某种方式得到javascript调用者。
一种方法是将其附加到data-
属性,可能在按钮或父div或甚至身体上
<div id="thing_container" data-api-host="$configured_host">
使用$var
或${var}
或服务器端堆栈使用的任何内容。
你可以用
这样的东西来搞定var elem = document.getElementById('thing_container');
var api_host = elem.getAttribute('data-api-host');
saveEdit( api_host, myApiKey );