Chrome 확장 프로그램에서 'punch.php'파일을 가져 와서 데이터를 다시받을 수 있지만 문제는 데이터를 전달할 수없는 것입니다. 파일. 내 코드는 다음과 같습니다.Ajax가 데이터를 게시하지 않음, Chrome 확장자
jQuery.fn.punch = function(){
$(this).click(function(){
var punchBtn = $(this);
var ProjectMemberId = '1'
var ProjectId = '1'
var str = 'ProjectMemberId='+ProjectMemberId+'&ProjectId='+ProjectId;
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://www.ontimepunchcard.com/scripts/punch.php", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
$('#PunchBox').html(xhr.responseText);
if(xhr.responseText==0)
{
punchBtn.removeClass('PunchedIn');
}
else
{
punchBtn.addClass('PunchedIn');
}
}
}
xhr.send('ProjectMemberId='+ProjectMemberId+'&ProjectId='+ProjectId);
});
}//END PUNCH METHOD
이것은 동일한 코드를 사용하여 일반적인 웹 응용 프로그램을 복제 한 것입니다. 이드의 게시물은 'punch.php'이며 SQL 문에 포함되어 있습니다. 이 문장은 Chrome 확장 프로그램에서 오류가 발생하여 오류 문을 반환 했으므로 실제로 시도한 내용을보기 위해 실제 SQL 쿼리를 반향시키기 시작했습니다. 그 결과 두 ID가 누락 된 SQL 쿼리가 발생 했으므로 오류와 실패한 쿼리가 발생했습니다.
여기에 구문 문제가 있습니까? Google에서해야하는 방식으로 권한을 설정했지만 내 확장 프로그램에서만 데이터를 수신하고 보낼 수는 없습니까? 다른 어리 석음이 여기에 있습니까?
'str'은 절대로 사용되지 않습니다. 그게 의도적 인거야? 코드 예제에서 데이터를 전달하려는 위치는 어디입니까? – bzlm
확장 프로그램에서 해당 파일에 데이터를 게시 할 수있는 적절한 권한이 있습니까? ResponseText에서 "1"을 반환하는 간단한 스 니펫을 만들었습니다. 내가 볼 수있는 한, 스 니펫은 확장 페이지 (콘텐츠 스크립트가 아님)에서 실행되는 한 좋은 것입니다. –
@Mohamed - 그게 전부입니다. 답으로 게시하고 받아 들일 것입니다. – d2burke