2012-11-04 5 views
3

내 Chrome 확장 프로그램을 내 서버에 연결하고 데이터를주고 받고 싶습니다. 특히 사용자가 특정 URL을 탐색 할 때 확장 프로그램의 버튼을 클릭하면 서버는 데이터베이스를 검사하여 해당 URL이 클릭 된 횟수를 확인하고 카운트를 증가 시키며 새로운 카운트를 다시 사용자에게 보냅니다.서버에 Chrome 확장 데이터 연결

서버로 데이터를 보내는 것이 AJAX 요청으로 가능하다는 것을 알고 있지만 서버에서 데이터를 다시 얻는 방법은 무엇입니까?

답변

3

제 생각에 AJAX를 사용하면 업데이트 된 횟수를 쉽게 얻을 수 있습니다. (jQuery로) 예를 들어 :

$.ajax({ 
    url: 'ajax/count.php?url=' + encodeURIComponent(newURL), 
    // dataType: 'json', 
    success: function(data) { 
    // parse you data received from server here 
    // data.count 
    } 
}); 

그래서 당신은 GET 요청의 매개 변수로 새로운 정보를 "보내기", 및 HTTP 응답으로 서버에서 필요한 정보를 얻을 수 있습니다. 개수를 전송하는 데 사용되는 데이터 유형은 귀하에게 달려 있습니다. 예를 들어, json 일 수 있습니다 (jQuery는 의 단축 사용자 지정 방법을 제공하며 사용자 정의 ajax 호출을 수행함).

당신이 얻을하지 않으려면 POST를 사용할 수 있으며, 다음과 같이 데이터를 지정

$.ajax({ 
    type: "POST", 
    url: "ajax/count.php", 
    data: { url: newURL }, 
    success: function(data){ 
    // ... 
    } 
}); 
1

당신은 분명하지만 현재와 XHR에게/아약스

를 사용해야합니다 chrome-extension API를 사용하면 다음과 같은 오류가 발생할 수 있습니다.

'Access-Control-Allow-Origin'헤더가 없습니다. 요구 된 자원

this documentation by Google

+2

그, 또는 경우를 볼 하나는 단순히 더 자세한 설명은 manifest.json을

"permissions": [ "tabs", "http://www.myserver.dom" ], 

에 권한 배열의 서버에 대한 링크를 넣을 수 있습니다이 문제를 해결 얻기 위하여 그것은 당신이 제어하는 ​​서버입니다. 여러분은'Access-Control-Allow-Origin' 헤더를 추가 할 수 있습니다. – Xan

관련 문제