0

我有一个书签,用户将其添加到他们自己的浏览器书签工具栏中,该工具栏从他们正在查看的页面中收集图像。

我想在用户每次点击任何站点时记录并将数据存储在 mysql 表中。所以我使用 ajax 调用发布到一个 php 文件,该文件处理发送给它的数据。

但是,这有时有效,有时无效。意思是,它适用于某些网站,而不适用于其他网站。

我正在尝试的是:

(function()
{ // declare variables e.g. div.ids, div content etc then display it
......

    //log the click
    var dataString = '&url=' + encodeURIComponent(window.location.href) + '&page_title=' + encodeURIComponent(document.title);
    $.ajax({
    type: "POST", // form method
    url: "http://myurl.com/includes/log_clicks.php",// destination
    data: dataString,
    cache: false
    });
    //END log the click

})();

当它不起作用并且我使用 Firebug 找出原因时,我有时会收到错误消息:TypeError: $ is undefined $.ajax({

有时它仍然发布到 php 文件但没有数据

有没有更好的方法从用户浏览器的 js 文件中调用 ajax?

根据建议,我尝试通过简单地修改其中一个变量来加载 jquery:

div.innerHTML = '<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script><div class=....';

但这并没有什么区别

4

1 回答 1

1

You need jQuery present on the page in order to perform this. You will need to load jQuery if not present. A great approach is outlined here using the jQuerify code which actually just loads a portion of jQuery functionality that is needed.

于 2012-12-02T02:11:28.780 回答