Ajax 不发布数据,Chrome 扩展

标签 ajax google-chrome jquery xmlhttprequest google-chrome-extension

在我的 Chrome 扩展中,我能够访问“punch.php”文件并接收返回的数据,问题是我似乎无法将数据传递到该文件。这是我的代码:

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 查询以查看它试图执行的操作。结果是 SQL 查询缺少两个 Id,因此出现错误并且查询失败。

我这里有语法问题吗?尽管我按照 Google 规定的方式设置了权限,但我的扩展程序是否有可能只能接收数据而不能发送数据?这里还有其他愚蠢的事情发生吗?

最佳答案

“您确定您的扩展程序具有将数据发布到该文件的适当权限吗?我刚刚做了一个简单的代码片段,从responseText返回“1”。据我所知,该代码片段很好,只要因为它在扩展页面(而不是内容脚本)中运行 – Mohamed Mansour Jan 9 at 23:45"

显然这就是答案。

关于Ajax 不发布数据,Chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4642009/

相关文章:

php - WooCommerce - 在 Ajax 更新后计算购物车总数

javascript - 仅当 AJAX 返回成功时才切换复选框

javascript - 在 chrome 中分析 JavaScript?

javascript - 按键时运行搜索

javascript - 如何为单个网页上的多个播放/暂停按钮制作单个 Javascript 脚本?

javascript - jquery ajax不执行成功

javascript - 使用javascript从外部页面获取html元素

chrome中的jquery ajax问题

jquery - OS X Chrome 10.0.648.151 上的 HTML 历史状态问题

javascript - 单击第一个图像时允许加载第二个图像,同时保持 WR.CSS 样式。