Javascript 如何通过书签调用rest服务

Javascript 如何通过书签调用rest服务,javascript,jquery,google-chrome,rest,bookmarklet,Javascript,Jquery,Google Chrome,Rest,Bookmarklet,我有一个rest服务,它接受一个URL参数:myService/add?pageUrl=www.google.com 我正在尝试将其添加为书签,因此每当用户单击书签时,当前页面URL都会发送到我的rest服务 下面是我正在使用的javascript代码,但没有调用该服务 javascript:function savePage() { window.open('myService/add?pageUrl=' + document.URL) alert('Page saved')

我有一个rest服务,它接受一个URL参数:
myService/add?pageUrl=www.google.com

我正在尝试将其添加为书签,因此每当用户单击书签时,当前页面URL都会发送到我的rest服务

下面是我正在使用的javascript代码,但没有调用该服务

javascript:function savePage() {
    window.open('myService/add?pageUrl=' + document.URL) 
    alert('Page saved');
}
savePage(); 
我收到错误消息:

未捕获的语法错误:意外的标识符


如何修改上述javascript,以便在我将代码添加到书签时调用我的服务,并将用户访问的当前URL发送到该服务?

创建如下bookmarklet:

javascript:(function(){/* your code here */})();  
因此,在你的情况下:

javascript:(function(){window.open('myService/add?pageUrl='+document.URL)})();
javascript:
部分之后,您有一个自动执行(匿名)函数:

(function(){})()
将对其中的代码进行评估。

另外,请确保没有丢失任何分号(
)。这些将破坏bookmarklet中的代码。

创建如下bookmarklet:

javascript:(function(){/* your code here */})();  
因此,在你的情况下:

javascript:(function(){window.open('myService/add?pageUrl='+document.URL)})();
javascript:
部分之后,您有一个自动执行(匿名)函数:

(function(){})()
将对其中的代码进行评估。
另外,请确保没有丢失任何分号(
)。这些将破坏bookmarklets中的代码。

缺少分号

javascript:function savePage(){ window.open('myService/add?pageUrl='+document.URL
);
alert('Page saved');
} savePage(); 
缺少分号

javascript:function savePage(){ window.open('myService/add?pageUrl='+document.URL
);
alert('Page saved');
} savePage(); 

我更喜欢你的答案:-)是的,但我认为问题在于缺少分号而不是使用自动执行函数:)@Samuelcailerie:从技术上讲,这是正确的,是的。我更关注的是,在bookmarklet中,您通常需要自动执行函数,而不是在最后调用它们。我更喜欢您的答案:-)是的,但我认为问题在于缺少分号而不是使用自动执行函数:)@samuelcailerie:从技术上讲,这是正确的,是的。我更关注的是,在bookmarklet中,您通常需要自执行函数,而不是在最后调用它们
窗口之间。打开(…)
警报
?你有
窗口之间。打开(…)
警报