私の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
これは、すべての同じコードを持つ通常のWebアプリケーションの複製です。 idは 'punch.php'への投稿であり、SQL文の一部です。この文はChrome拡張機能では失敗し、エラー文が返されていたので、実際のSQLクエリをエコーして、何をしようとしているのかを確認し始めました。その結果、2つのIdがないSQLクエリーが発生したため、エラーと失敗したクエリーが発生しました。
ここで構文の問題がありますか?それは、私は私の拡張機能がデータを受信しか送信できないことを私はすべきだと言っている方法で許可を設定しても、それは可能でしょうか?ここには他の愚かさがあるの?
'str'は決して使用されません。それは意図的なのでしょうか?コード例でデータをどこに渡そうとしていますか? – bzlm
拡張機能でデータをそのファイルに投稿するための適切な権限を持っていますか?私はresponseTextから "1"を返す単純なスニペットを作成しました。私が見る限り、スニペットは拡張ページ(コンテンツスクリプトではない)で実行されている限り良いです。 –
@Mohamed - それはそれでした。これを回答として投稿し、私はそれを受け入れる – d2burke