Javascript MYSQL AJAX无请假提交表单页面

Javascript MYSQL AJAX无请假提交表单页面,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,下面是我的脚本: 我的Ajax: $('#ether-wallet').submit(function (e) { e.preventDefault(); var name = $('#etherwallet').val(); var dataString = 'name=' + name; $.ajax({ type: 'POST', data: dataString, url: 'Database/wallet.

下面是我的脚本:

我的Ajax:

$('#ether-wallet').submit(function (e) {
    e.preventDefault();
    var name = $('#etherwallet').val();
    var dataString = 'name=' + name;
    $.ajax({
        type: 'POST',
        data: dataString,
        url: 'Database/wallet.inc.php',
        success: function (data) {
            alert(data);
        }
    });
});
我试图在不离开页面的情况下提交表格, 以下是我的PHP:

    <form id="ether-wallet" class="wallet-form" method="POST">
        <span class="span">Ether Wallet:  </span>
        <input type="text" name="etherwallet" placeholder="Press to lock" id="etherwallet" class="inputapi" value=""/>
        <button id="etherlock" class="lockbutton" type="submit" name="etherlock">Lock</button>
    </form>
}

谢谢你们的帮助,孩子们

使用input type=“button”onClick=“function Name”

或按钮类型=“按钮”

不要使用输入类型=“提交”

可能会有帮助

问候,,
Vishal Sharma

如果使用按钮类型“提交”,还可以在表单中绑定“提交”事件(而不是在按钮中绑定“单击”事件)。在AJAX调用语句之后,您还必须在函数中返回“false”值。

只需按如下所示更改AJAX代码即可

$('#eether-wallet').submit(function (e) {
    e.preventDefault();
    var name = $('#etherwallet').val();
   //var dataString = 'name=' + name;
    $.ajax({
        type: 'POST',
        data: new FormData(this),
        url: 'Database/wallet.inc.php',
        success: function (data) {
            alert(data);
        },
      error: function(jqXHR, textStatus, errorThrown)
    {
      alert(textStatus);
    }
    });
});

现在我们调用ajax内部表单提交事件。因此e.preventDefault()将阻止表单的回发。

代码中有几个问题,例如:

  • 您正在使用
    $\u POST['etherlock']
    访问用户提交的数据,这是错误的。在AJAX请求中看到这条语句,
    var-dataString='name='+name
    ,您应该使用
    $\u POST['name']
    访问用户提交的数据
  • 您的
    更新
    查询错误,应该是这样的:

    $sql = "UPDATE users SET eth_wallet = '$etherwallet' WHERE user_id = '$idbridge1'";
    


旁注:了解,因为现在您的查询容易受到SQL注入攻击。另请参见。

您的问题是什么?代码的哪一部分没有按预期工作?SQL没有得到任何输入数据,我读了10遍这个脚本,没有发现任何错误,我是否正确地插入了数据库?我说得对吗?为什么数据没有使用用户id进入特定的colmun中。我以前从未使用过AJAX,所以如果我理解起来有困难,我很抱歉,我在数据字符串中发布了值?我试图将帖子改为name,但它只显示了我的索引。php@SpectorHacked这是因为您正在处理AJAX请求,也就是说,这个代码片段
我回到了basic,在那里我没有代码错误,现在我的代码是sumbit表单,但是我认为我的wallet.inc.php没有得到数据,因为我在该页面中放置了一些错误处理程序,但它没有到达。。我将编辑页面并向您显示我的当前代码。。谢谢你的帮助!!!我遇到了错误,我看不到在数据中插入'name'值的位置。这里是错误:uncaughttypeerror:e(jquery.min.js:4)在Ab(jquery.min.js:4)在Function.r.param(jquery.min.js:4)在Function.ajax(jquery.min.js:4)在HTMLFormElement非法调用。(Wallets.php:196)在HTMLFormElement.dispatch(jquery.min.js:3)在HTMLFormElement.q.handle(jquery.min.js:3)e@jquery.min.js:4 Ab@jquery.min.js:4 r.param@jquery.min.js:4 ajax@jquery.min.js:4(匿名)@Wallets.php:196如果错误来自ajax调用,现在将显示警报。浏览编辑后的答案。这是来自ajax调用,当我点击按钮时有很多错误,不管怎样sql仍然为空,lol我没有错吗?
$sql = "UPDATE users SET eth_wallet = '$etherwallet' WHERE user_id = '$idbridge1'";