javascript - Chrome 扩展程序 : How to send html form data to a php page upon button being clicked which redirects to said php page

标签 javascript php html ajax

所以我有一个 chrome 扩展,它有一个表单弹出窗口,其中包含按钮和可编辑字段,这些字段由我的 javascript 函数和选项页面自动填充。它能够通过单击按钮将表单数据发送到 php 页面“PhpFile.php”,然后使用查询将数据插入数据库。

我还有另一个 php 页面 DataDisplayScript.php。此页面旨在显示数据库中与用户表单中的某些字段(例如年龄和性别)相匹配的特定记录。目前,我在 chrome 扩展上有一个按钮,它调用了一些 javascript,将我带到此页面,但到目前为止,我只能让该页面在重定向到该页面时加载整个数据表。这是因为它没有表单中有关用户的任何信息。

我的问题是,当我单击扩展上的按钮将我重定向到 DataDisplayScript 时,是否可以将某些字段值从表单发送到 php 页面?然后我可以用它来查询数据库中的匹配记录并将其显示在页面上。 (实际上并不需要查询方面的帮助,只需在用户单击按钮或链接时发送数据即可)。

这是我将用户信息发送到 DataDisplayScript.php 所涉及的表单的 html

<form action="http://************/DataDisplayScript.php" method="POST" name="HiddenUIDPostForm">
        <input type = "text" id="UIDSuggestions" name="UIDSuggestions" hidden="true">
        <input type="text" id="Gender" name="Gender" placeholder="Your Gender"><br/>
        <input type="text" id="Age" name="Age" placeholder="Your Age"><br/>
        <input type = "submit" name="uidSubmit" value="Go To Suggestions">
    </form>

这是我的按钮 javascript,它将我重定向到 DataDisplay 脚本页面:

function ClickSuggestionsLink(data){
    /*if (window.XMLHttpRequest){
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    xmlhttp.open("GET","DataDisplayScript.php",true);
    xmlhttp.send();
    */
    chrome.tabs.create({url: 'http://***********/DataDisplayScript.php'});
}

这是我在 DataDisplayScript 上的 php,它的 id 喜欢存储发送的表单信息

$uId = $_POST['UIDSuggestions'];
$gender = $_POST['Gender'];
$age = $_POST['Age'];

任何帮助将不胜感激!

最佳答案

这应该有帮助。 AJAX 与 Post 方法。

function ClickSuggestionsLink(data){
    var dir = 'http://***********/DataDisplayScript.php';
    var request = new XMLHttpRequest();

    var uId = document.getElementById("UIDSuggestions").value;
    var gender = document.getElementById("Gender").value;
    var age = document.getElementById("Age").value;

    var data = "UIDSuggestions="+uId +"&Gender="+gender+"&Age="+age;

    request.open("POST", dir, true);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", data.length);
    request.setRequestHeader("Connection", "close");

    request.onload = function() {
      if (request.status === 200) {
          // code if everything went fine
          // request.responseText for printing echoes
      } else {
          // code if otherwise
      }
    };

    // sending data here
    request.send(data);
}

关于javascript - Chrome 扩展程序 : How to send html form data to a php page upon button being clicked which redirects to said php page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770064/

相关文章:

php - 在 CakePHP 3 中将自定义 SQL 代码放在哪里?

javascript - HTML 数据转换为 JavaScript 函数问题

html - IE 中的背景图片

php - 从 2 个表中选择 Sql

php PDO::FETCH_CLASS 映射到所有小写属性而不是驼峰式

javascript - 如何在站点的每个页面上制作固定的(静态的)HTML 元素

javascript - 当使用 React 包裹在 div 中时,SVG 矩形会转到新位置

html - 滚动到显示后隐藏的 div 的底部

javascript - 在 Angular js 中实现多选下拉菜单

javascript - 如果不起作用,让函数在里面。 (没有错误信息)