2012-12-02 4 views
0

사용자가 자신이보고있는 페이지에서 이미지를 수집하는 브라우저 책갈피 도구 모음에 북마크릿을 추가했습니다.사용자 브라우저에서 js 파일 내에서 아약스 호출

사용자가 사이트를 클릭하고 mysql 테이블에 데이터를 저장할 때마다 기록하고 싶습니다. 그래서 내가 보낸 데이터를 처리하는 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 

})(); 

가 작동하지 않고 내가 왜, 내가 가끔 오류 얻을 찾아 방화범을 사용하는 경우 : 때때로 TypeError: $ is undefined $.ajax({

에 여전히 게시물을

은 내가 노력하고있어 이것이다 PHP 파일이지만 데이터가 없습니다.

사용자의 브라우저에서 js 파일 내에서 아약스를 호출하는 더 좋은 방법이 있습니까? 당신을 위해 페이지에 jQuery를 선물을 필요

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

하지만 그 차이

+0

페이지에 jQuery가로드되어 있거나 사용자가 직접로드해야합니다. – Musa

답변

1

을하지 :

는 제안에 따라, 나는 단순히 그래서 같은 변수 중 하나를 개정하여로드 jQuery를 시도했습니다 이것을 수행하십시오. 존재하지 않으면 jQuery를로드해야한다. 훌륭한 접근법은 실제로 필요로하는 jQuery 기능의 일부만을로드하는 jQuerify 코드를 사용하여 here의 윤곽을 그립니다.

+0

고마워, 고마워, 아마존, 내게 문제가 발생하는 사이트에서 jQuerify 시도하고 jquery 이미로드 된 말해 ... 비록 이전 버전의 1.2.6 있지만 아약스 여전히 작동해야합니다. –