1

私の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クエリーが発生したため、エラーと失敗したクエリーが発生しました。

ここで構文の問題がありますか?それは、私は私の拡張機能がデータを受信しか送信できないことを私はすべきだと言っている方法で許可を設定しても、それは可能でしょうか?ここには他の愚かさがあるの?

+0

'str'は決して使用されません。それは意図的なのでしょうか?コード例でデータをどこに渡そうとしていますか? – bzlm

+1

拡張機能でデータをそのファイルに投稿するための適切な権限を持っていますか?私はresponseTextから "1"を返す単純なスニペットを作成しました。私が見る限り、スニペットは拡張ページ(コンテンツスクリプトではない)で実行されている限り良いです。 –

+0

@Mohamed - それはそれでした。これを回答として投稿し、私はそれを受け入れる – d2burke

答えて

2

responseTextから 『1「に?あなたは、そのファイルにデータを投稿する拡張機能で適切な権限を持っていてください。私はちょうど私が返す簡単なスニペットをしました』私が見る限り、スニペットは拡張ページ(コンテンツスクリプトではありません)で実行されている限り良いです - Mohamed Mansour Jan 9 at 23:45 "

明らかにこれが答えです。

1

を増やしてみてくださいContent-typeContent-lengthヘッダ:

var str = 'ProjectMemberId='+ProjectMemberId+'&ProjectId='+ProjectId; 

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://www.ontimepunchcard.com/scripts/punch.php", true); 
xhr.onreadystatechange = function() { ... } 

xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhr.setRequestHeader("Content-length", str.length); 

xhr.send(str); 
関連する問題