bookmarklet中的Ajax请求

bookmarklet中的Ajax请求,ajax,jquery,bookmarklet,Ajax,Jquery,Bookmarklet,我想构建一个bookmarklet,它允许我将当前页面的URL发送到一个php文件,获得确认响应并将其显示给用户 我尝试了几种方法,只有一种方法有效,它成功地发送了请求,但没有显示响应 javascript: (function (e, a, g, h, f, c, b, d) { if (!(f = e.jQuery) || g > f.fn.jquery || h(f)) { c = a.createElement("script"); c.ty

我想构建一个bookmarklet,它允许我将当前页面的URL发送到一个php文件,获得确认响应并将其显示给用户

我尝试了几种方法,只有一种方法有效,它成功地发送了请求,但没有显示响应

javascript: (function (e, a, g, h, f, c, b, d) {
    if (!(f = e.jQuery) || g > f.fn.jquery || h(f)) {
        c = a.createElement("script");
        c.type = "text/javascript";
        c.src = "http://ajax.googleapis.com/ajax/libs/jquery/" + g + "/jquery.min.js";
        c.onload = c.onreadystatechange = function () {
            if (!b && (!(d = this.readyState) || d == "loaded" || d == "complete")) {
                h((f = e.jQuery).noConflict(1), b = 1);
                f(c).remove()
            }
        };
        a.documentElement.childNodes[0].appendChild(c)
    }
})(window, document, "1.3.2", function ($, L) {
    $.get("http://mysite.com/recommend.php", {
        url: encodeURIComponent(document.URL)
    }, function (data) {
        if (data.error) {
            alert('Looks like someone else added this site just before you did, Thank you though!');
        } else {
            alert(document.URL + ' successfully added!');
        }
    }, 'json');
});

不管怎样,我能让它工作吗?我在某个地方读到了关于源站策略的内容——是否有其他方法可以实现我正在尝试的目标——目标是构建一个bookmarklet,与服务器通信并显示响应。

您不能跨域使用标准Ajax。浏览器强制执行“相同域”策略。您必须使用JSONP

在本页中搜索“jsonp”,开始了解如何将jQuery与jsonp结合使用:

一个更简单的解决方案可能是:

var recURL='http://mysite/com/recommend.php?url=' 
  + encodeURIComponent(document.URL);
document.body.appendChild(document.createElement('script')).src=recURL;

expndtw-1.php应该返回Javascript代码,如:
alert(document.URL+'successfully added!')

不能跨域使用标准Ajax。浏览器强制执行“相同域”策略。您必须使用JSONP

在本页中搜索“jsonp”,开始了解如何将jQuery与jsonp结合使用:

一个更简单的解决方案可能是:

var recURL='http://mysite/com/recommend.php?url=' 
  + encodeURIComponent(document.URL);
document.body.appendChild(document.createElement('script')).src=recURL;
expndtw-1.php应该返回Javascript代码,如:
alert(document.URL+'successfully added!')