使用ajax将表单数据发送到php

我想将表单数据从ajax发送到php。 我的ajax检索表单数据,但它没有发送它我没有看到代码有什么问题,也许我需要更专业的帮助。 提前致谢

HTML5语法

 Sign- In 

Ajax语法

 $('#signup').live('click', function(){ //var name = document.getElementById('Susername').value; //var email = document.getElementById('Semail').value; //var pass = document.getElementById('Spassword').value; var that = $('form.check-user'), urls = that.attr('action'), methods = that.attr('method'), data = {}; that.find('[name]').each(function(index, element) { var that = $(this), name = that.attr('name'), element = that.val(); alert(name+'='+element+' '+methods); data[name] = element; }); $.ajax( { url: urls, type: methods, data : data, beforeSend: function(response){alert('Sending');}, success: function(response){ alert('success');}, error: function(response){alert('failed');}, complete: function(response){alert('finished');}, } ); return false; }); 

PHP语法

 session_start(); $name = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; if(isset($name) && isset($email) && isset($password)) { echo $name; $_SESSION['username'] = $name; } else { die('data not set'); } 

您可以在表单上使用序列化方法,它将收集所有正确的内容。

 $('#signup').live('click', function(){ var that = $('form.check-user'), urls = that.attr('action'), methods = that.attr('method'), data = that.serialize(); $.ajax( { url: urls, type: methods, data : data, beforeSend: function(response){alert('Sending');}, success: function(response){ alert('success');}, error: function(response){alert('failed');}, complete: function(response){alert('finished');}, } ); return false; }); 

试试这个,

 $('#signup').live('click', function(){ $.ajax({ url:'',//url to submit type: "post", dataType : 'json', data : { 'Susername' : $('#Susername').val(), 'Semail' : $('#Semail').val(), 'Spassword' : $('#Spassword').val() }, success: function (data) { } }); return false; }); 

我解决了它在PHP方面这样做你这样做

 $name = isset(json_decode($_POST['username']));//htmlentities($values[0]); $email = isset(json_decode(($_POST['email'])));//htmlentities($values[1]); $password = isset(json_decode($_POST['password']));//htmlentities($values[2]); 

阿贾克斯方面

 $(document).ready(function(e) { $('#signup').live('click', function(){ //var name = document.getElementById('Susername').value; //var email = document.getElementById('Semail').value; //var pass = document.getElementById('Spassword').value; var that = $('form.check-user'), urls = that.attr('action'), methods = that.attr('method'), data = {}; data = that.serialize(); console.log(data); $.ajax( { url: urls, type: methods, dataType:'json', data : data, beforeSend: function(response){$.mobile.showPageLoadingMsg(true);}, success: function(response){ $.mobile.showPageLoadingMsg(false);}, error: function(xhr, textStatus, errorThrown){alert(textStatus);}, complete: function(response){}, } ); return false; }); 

});

Interesting Posts