Javascript jquerypost方法

Javascript jquerypost方法,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我有一个jQueryPost方法,它将名称、密码和电子邮件发送到register.php function postData() { thisBtn = $(this); parent = $(this).parent(); name = parent.data('name'); password = parent.data('password'); email =parent.data('email'); $.post('register

我有一个jQueryPost方法,它将名称、密码和电子邮件发送到register.php

function postData()
{
    thisBtn = $(this); 
    parent = $(this).parent(); 
    name = parent.data('name'); 
    password = parent.data('password'); 
    email =parent.data('email');
    $.post('register.php', {name: (name), password: (password), email: (email)},     function(data) ;
    parent.next('#message').html(data);
}
执行onclick功能的按钮:

<button onclick = 'postData()' class='regular' name='save'>


但是,当按下按钮时,似乎什么也没有发生,因为调用
postData
时没有关联的对象,在函数
中,该
窗口
相同,因此您访问的元素都不是您期望的元素


不要使用,使用JavaScript绑定处理程序。因为您已经在使用jQuery,所以应该使用它。

因为您调用的
postData
没有关联对象,所以在函数
中,这个
窗口
相同,所以您访问的元素都不是您期望的元素


不要使用,使用JavaScript绑定处理程序。因为您已经在使用jQuery,所以应该使用它。

此语法看起来有问题

$.post('register.php', {name: (name), password: (password), email: (email)},     function(data) ;
    parent.next('#message').html(data);
// no {} for function, no closing ) for $post, and premature ;
试一试


这个语法看起来有问题

$.post('register.php', {name: (name), password: (password), email: (email)},     function(data) ;
    parent.next('#message').html(data);
// no {} for function, no closing ) for $post, and premature ;
试一试


你有两个选择

onclick中的pass和object:

<button onclick='postData(this)' class='regular' name='save'>

这样就不需要使用
onclick='postData(this)

您有两个选项

onclick中的pass和object:

<button onclick='postData(this)' class='regular' name='save'>

这样就不需要单击
onclick='postData(this)

这样发送post数据,您将获得正确的输出

名称='demo'; 密码='123456'; 电子邮件demo@gmail.com';

      $.post('register.php',{ 'name': name, 'password': password, 'email': email},function(html){

                                alert(html);     
     },"html");
//register.php

function postData()
{
    thisBtn = $(this); 
    parent = $(this).parent(); 
    name = parent.data('name'); 
    password = parent.data('password'); 
    email =parent.data('email');
    $.post('register.php', {name: (name), password: (password), email: (email)},     function(data) ;
    parent.next('#message').html(data);
}

echo$_POST['name']

像这样发送post数据,您将获得正确的输出

名称='demo'; 密码='123456'; 电子邮件demo@gmail.com';

      $.post('register.php',{ 'name': name, 'password': password, 'email': email},function(html){

                                alert(html);     
     },"html");
//register.php

function postData()
{
    thisBtn = $(this); 
    parent = $(this).parent(); 
    name = parent.data('name'); 
    password = parent.data('password'); 
    email =parent.data('email');
    $.post('register.php', {name: (name), password: (password), email: (email)},     function(data) ;
    parent.next('#message').html(data);
}

echo$_POST['name']

如果您想让事情正常运行,还可以使用jQuery绑定到按钮单击。(编辑:另外,让我们使用一个未弃用的元素)


如果希望事情正常运行,也可以使用jQuery绑定到按钮单击。(编辑:另外,让我们使用一个未弃用的元素)

你可以试试这个:

$(document).ready(function(){
     var $this = $('id_of_button');
     $this.click(function(){
            //ajax logic here
            $.ajax({
              type: 'POST',
              url: url,
              data: data,//data to send to serverside
              success: success, //function to call on success
              dataType: dataType//datatype eg.text,json etc.
            });
     });
});
你可以试试这个:

$(document).ready(function(){
     var $this = $('id_of_button');
     $this.click(function(){
            //ajax logic here
            $.ajax({
              type: 'POST',
              url: url,
              data: data,//data to send to serverside
              success: success, //function to call on success
              dataType: dataType//datatype eg.text,json etc.
            });
     });
});

如何绑定onclick事件?首先,从一些基本调试开始。使用类似Firebug的方法,并在代码中设置断点,以查看实际发生的情况。(与仅仅说似乎什么都没有发生相反)函数真的被调用了吗?如果是,函数中的变量设置为什么?它是否达到调用
$.post()
?当时物体的状态是什么?你需要在这里做一些基本的调试来帮助我们。否则,这段代码可能有太多的错误。如何绑定onclick事件?首先,从一些基本调试开始。使用类似Firebug的方法,并在代码中设置断点,以查看实际发生的情况。(与仅仅说似乎什么都没有发生相反)函数真的被调用了吗?如果是,函数中的变量设置为什么?它是否达到调用
$.post()
?当时物体的状态是什么?你需要在这里做一些基本的调试来帮助我们。否则,这段代码就有太多的潜在错误。事实上,我想知道“似乎什么都没有发生”是否是浏览器抛出JavaScript错误而OP不知道在哪里查找这些错误的另一种说法。即使如此,“parent”也不是jQuery对象,因此它不会有关联的next()函数来调用。(或者更确切地说,$(这)没有意义,因此parent()可能是一个空的jQuery对象)@Dave-Hmm,你确定吗<代码>$(this.parent()返回jQuery。。你是说它超出了范围吗?我不确定函数是否知道输入了什么名称、密码、电子邮件,我想知道“似乎什么都没发生”是否是另一种说法,表示浏览器抛出了JavaScript错误,OP不知道在哪里查找这些错误。即使如此,“parent”也不是jQuery对象,因此它不会有关联的next()要调用的函数。(或者更确切地说,$(这)没有意义,因此parent()可能是一个空的jQuery对象)@Dave-Hmm,你确定吗<代码>$(this.parent()返回jQuery。。你是说它超出范围了吗?我不确定函数是否知道名称、密码、电子邮件我不确定函数是否知道在何处查找名称密码电子邮件我不确定函数是否知道在何处查找名称密码电子邮件创建$的数据对象时,不必将属性名称放入字符串中。post,除非名称不是有效的javascript变量名称(如“名称[]”),否则在为$.post创建数据对象时,不必将属性名称放入字符串中,除非名称不是有效的javascript变量名称(如“名称[]”)