我有一个用户名添加到他们自己的浏览器书签工具栏的书签,该工具栏从他们正在查看的页面收集图像。
我希望每次用户点击任何站点时都会记录并将数据存储在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=....';
但这并没有什么区别
答案 0 :(得分:1)
您需要在页面上显示jQuery才能执行此操作。如果不存在,您将需要加载jQuery。使用jQuerify代码概述了一个很好的方法here,它实际上只是加载了所需的jQuery功能的一部分。