Javascript 如何在chrome扩展上获得一个可用的AJAX/PHP脚本

Javascript 如何在chrome扩展上获得一个可用的AJAX/PHP脚本,javascript,php,html,ajax,google-chrome-extension,Javascript,Php,Html,Ajax,Google Chrome Extension,我目前正在尝试开发我的第一个chrome扩展,它基于一个我已经在另一个服务器上作为网站的web应用程序 除了一个带有ajax表单的部分,它将信息发送到一个发送邮件的PHP文件,其他一切都可以正常工作。(简单的联系人表单,使用ajax显示成功消息,而不是更改或重新加载我的页面) 我知道我们的浏览器甚至不能执行PHP,因为它是一种服务器端语言,所以有没有办法使表单功能化?(这与Web服务器上的结果相同吗 显然,我正在寻找一个可以在chrome扩展上工作的表单,并将电子邮件发送到所需的地址,在提交时显

我目前正在尝试开发我的第一个chrome扩展,它基于一个我已经在另一个服务器上作为网站的web应用程序

除了一个带有ajax表单的部分,它将信息发送到一个发送邮件的PHP文件,其他一切都可以正常工作。(简单的联系人表单,使用ajax显示成功消息,而不是更改或重新加载我的页面)

我知道我们的浏览器甚至不能执行PHP,因为它是一种服务器端语言,所以有没有办法使表单功能化?(这与Web服务器上的结果相同吗

显然,我正在寻找一个可以在chrome扩展上工作的表单,并将电子邮件发送到所需的地址,在提交时显示一条成功消息(无重新加载或新页面)

(分机不是基于邮件的,它是一个加密货币钱包。只有一个底部有1个输入的联系人表单。)

php:

表格(html)


谢谢好的,我有个主意:
通过删除本地php/ajax表单,在我的html页面上创建一个iframe,该iframe指向一个web服务器,在该服务器上我托管了先前从扩展本地文件中删除的整个工作表单(html、js、php)

希望它能帮助别人


任何其他可能帮助您的解决方案(通过gmail开发系统邮件)?@SimoneRossaini谢谢,但如果我理解这是为了与邮件联系或获取特殊数据而创建的扩展。要清楚,我的扩展是一个加密货币钱包,在底部有一个表单,其中有一个输入,用于从usr收集钱包地址。->为了向那些想要的人发送免费代币,这是一个简单的联系表单。我我会更深入地查看您的链接。不,您需要将页面从PHP重写为JavaScript。@wOxxOm好的,知道了,放在哪里吗?action=“?”
<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {


    $mail_to = "test@yopmail.com";


    $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);


    if ( empty($email)) {

        http_response_code(400);
        echo "Please complete the form and try again.";
        exit;
    }

    # Mail Content
    $content .= "New token demand\n\n";
    $content .= "Email: $email\n\n";


    # email headers.
    $headers = "From: New user";


    $success = mail($mail_to, $subject, $content, $headers);
    if ($success) {

        http_response_code(200);
        echo "Thank You! Your message has been sent.";
    } else {

        http_response_code(500);
        echo "Oops! Something went wrong, we couldn't send your message.";
    }

} else {

    http_response_code(403);
    echo "There was a problem with your submission, please try again.";
}
?>
(function ($) {
'use strict';

var form = $('.contact__form'),
    message = $('.contact__msg'),
    form_data;

// Success function
function done_func(response) {
    message.fadeIn().removeClass('alert-danger').addClass('alert-success');
    message.text(response);
    setTimeout(function () {
        message.fadeOut();
    }, 2000);
    form.find('input:not([type="submit"]), textarea').val('');
}

// fail function
function fail_func(data) {
    message.fadeIn().removeClass('alert-success').addClass('alert-success');
    message.text(data.responseText);
    setTimeout(function () {
        message.fadeOut();
    }, 2000);
}

form.submit(function (e) {
    e.preventDefault();
    form_data = $(this).serialize();
    $.ajax({
        type: 'POST',
        url: form.attr('action'),
        data: form_data
    })
    .done(done_func)
    .fail(fail_func);
});
})(jQuery);