Javascript 将JS传递给PHP

Javascript 将JS传递给PHP,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我试图通过php将存储在变量中的字符串传递给mysql表 目前我使用的是一个隐藏类型,我指定我想要的变量作为它的值,并通过表单提交发布它。 这是工作,但它的丑陋 我知道有$.post和$.ajax,但我似乎不知道如何在js端和php端使用它们。我在网上找过,有很多这样的问题,但没有一个适合我,可能是因为我缺少知识 我怎么做 这是一个非常基本的例子。我们从HTML页面上的表单开始。单击此按钮时,我们将激活一个javascript函数 <html> <form>

我试图通过php将存储在变量中的字符串传递给mysql表

目前我使用的是一个隐藏类型,我指定我想要的变量作为它的值,并通过表单提交发布它。 这是工作,但它的丑陋

我知道有$.post和$.ajax,但我似乎不知道如何在js端和php端使用它们。我在网上找过,有很多这样的问题,但没有一个适合我,可能是因为我缺少知识


我怎么做

这是一个非常基本的例子。我们从HTML页面上的表单开始。单击此按钮时,我们将激活一个javascript函数

<html>
  <form>
    <input type="email" id="email-field" />
    <input id="submitButton" type="submit" value="Submit" />
  </form>
</html>
只要将正确的url放入到PHP文件的ajax请求中,您就可以轻松地接收这样发送的数据

<?php

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

   $email = $_POST['email'];
   echo 'I have received your request.';

 }
然后您只需像这样更改PHP代码

$email = $_POST['useremail'];

这让我一开始就很困惑,如果你不知道它是如何工作的,有时甚至很难提出质量问题。不过,在将来,我至少会尝试发布一些代码,显示您试图解决这个问题

您需要做几件事:

您有一个表单标记,需要阻止其提交,如下所示: $myformid.submitfunctionevent{ //做点什么 违约事件; };

如果您的表格不再提交,那么您就走上了正确的道路

您需要使用$.ajax发送请求,如下所示: $myformid.submitfunctionevent{ //这里我假设所有变量都已正确初始化 $.ajax{ url:yoururl, 方法:邮寄, data:yourdata,//yourdata应该包含要发送到服务器的内容 }.Donefunction响应{ //回拨 }; 违约事件; };

您将需要一个PHP代码来正确处理您在URL发送的POST请求。以下是如何在PHP中检查请求方法是否为POST: 如果$\u服务器['REQUEST\u METHOD']='POST'{ //这是一个邮寄请求 }否则{ //这不是一个POST请求 }


你能分享你的JavaScript和PHP代码的相关部分吗?请展示你的代码,,,你的代码将无法按预期工作,因为按钮将提交表单并导致页面重新加载,没有命名的输入字段。您忘记了预防事件的默认值,或使用或删除。元素将提交它们所在的表单,除非您显式设置type=button。这是我通过艰苦的方式学到的。事实上,你们是对的。所以我检查了我使用这个脚本的站点,我使用了一个输入标记。有趣的是,我没有任何默认语句,它不会刷新页面。无论如何,我会在答案中加上这一点作为一个更安全的赌注。然后你要么没有表单,要么它的提交被阻止在其他地方。您的e.preventdefault在单击事件中是不必要的。您需要e.stopPropagation或使用$form.submit事件的函数。在后一种情况下,我建议使用id作为表单标记,并使用它代替表单作为选择器!谢谢:我只是想让你知道我没有使用表单,因为没有表单可以提交。这是一个画布数据,我需要传递给表格。感谢你的帮助
data: {
   useremail: email
}
$email = $_POST['useremail'];