使用 AJAX 发布请求将数据发送到 mysql 数据库

Posted

技术标签:

【中文标题】使用 AJAX 发布请求将数据发送到 mysql 数据库【英文标题】:Send data to mysql database using AJAX post request 【发布时间】:2013-08-28 20:39:01 【问题描述】:

我想通过 AJAX POST 请求发送用户输入的字符串并添加到数据库:

Új gyártó: <input type="text" id="new_mfg" size="20">
<button id="add_mfg">Hozzáadás</button>
<script>
    $("#add_mfg").click(function(e)
        e.preventDefault()
        var new_mfg = $('#new_mfg').val();
        //$(this).text(new_mfg);                    
        request = new XMLHttpRequest();
        request.open("POST","/phps/add_mfg.php",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        request.send('$new_mfg');
    );
</script>

这里是 add_mfg.php 脚本:

require_once('login.php');

$new_mfg = $_POST['new_mfg'];
$new_mfg = stripslashes($new_mfg);

$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if(!$db_server) die("Unable to connect to MYSQL:" . mysql_error());

mysql_select_db($db_database)
    or die("Unable to select database:" . mysql_error());
$query = "INSERT INTO mfg(ID, mfg_name) VALUES(NULL, '$new_mfg')";
$result = mysql_query($query);

mysql_close($db_server);

代码不起作用,我不知道问题是什么。

【问题讨论】:

为什么不使用 JQuery ajax 方法? api.jquery.com/jQuery.ajax 请求发送到add_mfg.php。控制台有错误吗? 事实上,您不能。您只能将其发送到 PHP 脚本 不,我没有任何错误日志。我会尝试更改为 jquery ajax 方法,但这对这种情况有影响吗? 【参考方案1】:

您需要将点击事件处理程序包装到$(document).ready(function() );

$(document).ready(function()  
$("#add_mfg").click(function(e)

);
);

【讨论】:

或快捷方式 $(function()); @user874774 是的......但我认为 OP 是新手,所以他更容易用谷歌搜索它。 即使你需要将new XMLHttpRequest();请求替换为$.ajax(); 我认为jquery事件没有问题。我的第一个艰难是一样的,但我试图打印出读取的 new_mfg 变量:【参考方案2】:

使用这个简短的版本:

$(function() 
  $("#add_mfg").click(function(e)
      // ...
  );
);

【讨论】:

以上是关于使用 AJAX 发布请求将数据发送到 mysql 数据库的主要内容,如果未能解决你的问题,请参考以下文章

我想使用 ajax 或任何其他方法将图像发送到数据库

使用 Ajax POST 请求将图像和 JSON 数据发送到服务器?

如何将 JQuery AJAX 请求中的数据发送到 Node.js 服务器

如何使用ajax请求将印地语字体从客户端传递到服务器

如何将 $_SESSION 变量添加到 Ajax 请求中并将数据插入到 mysql 数据库 PHP 中?

通过单击链接发送 AJAX 请求而不重定向用户