【问题标题】:Send data to mysql database using AJAX post request使用 AJAX 发布请求将数据发送到 mysql 数据库
【发布时间】: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。控制台有错误吗?
  • 事实上,您不能使用 AJAX 发布请求将数据发送到 mysql 数据库。您只能将其发送到 PHP 脚本
  • 不,我没有任何错误日志。我会尝试更改为 jquery ajax 方法,但这对这种情况有影响吗?

标签: php jquery mysql ajax post


【解决方案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){
      // ...
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    相关资源
    最近更新 更多