从html表单发送数据到PHP JSON方式

时间:2015-11-05 10:44:29

标签: javascript php jquery html json

我正在尝试使用JavaScript发送POST数据。我有HTML格式的数据:

<form name="messageact" action="">
    <input name="name" type="text" id="username" size="15" />
    <input name="massage" type="text" id="usermsg" size="63" />
    <input name="submitmsg" type="submit"  id="submitmsg" value="Send" />
</form>

按下提交键后,我想发送名称并按摩到我的PHP文件! a用html:post.php为我的JavaScript写了这个,用post方法

$(document).ready(function(){
    //If user submits the form
    $("#submitmsg").click(function(){   
        var clientmsg = $("#usermsg").val();
        $.post("post.php", {text: clientmsg});              
        $("#usermsg").attr("value", "");
        return false;
    });

对于我的php,我写了这个:

if(isset($_SESSION['name'])){
    $text = $_POST['text'];
    ....
    ....

但在PHP中我无法收到任何东西!请帮我解决这个问题!以及如何将其更改为JSON方式?

4 个答案:

答案 0 :(得分:0)

为什么需要在$ _SESSION中存储名称? 如果您错误地使用了$ _SESSION,请更改此

if(isset($_SESSION['name'])){
$text = $_POST['text'];
....
....

这个,它应该工作

if(isset($_POST['text'])){
    $text = $_POST['text'];
    ....
    ....

$ _POST和$ _SESSION是2个不同的变量。您可能想看看thisthis

答案 1 :(得分:0)

您不需要使用javascript将数据发送到服务器,只需提交表单并添加目标php的操作

 <form name="messageact" action="post.php">
   <input name="name" type="text" id="username" size="15" />
   <input name="massage" type="text" id="usermsg" size="63" />
   <input name="submitmsg" type="submit"  id="submitmsg" value="Send" />
 </form>

用于测试 post.php 您可以使用此代码

<?php 
  if(isset($_POST['name'])){
   echo  $_POST['name'] . <br />;
   echo  $_POST['massage'] . <br />;
   echo  $_POST['submitmsg'] . <br />;
?> 

如果你想要ajax行为试试这个

 $(document).ready(function(){
    //If user submits the form
    $("#submitmsg").click(function(){   
       var clientmsg = $("#usermsg").val();
       $.post("post.php", {submitmsg: clientmsg});              
       $("#usermsg").attr("value", "");
 return false;
});

答案 2 :(得分:0)

试试这个:

<form name="messageact" method="post" action="post.php">
    <input name="name" type="text" id="username" size="15" />
    <input name="message" type="text" id="usermsg" size="63" />
    <input name="submitmsg" type="submit"  id="submitmsg" value="Send" />
</form>

$("#submitmsg").click(function(e){
    var name = $("#username").val();
    var usermsg = $("#usermsg").val();
    $.post("post.php", {'name': name,'usermsg':usermsg});
    return false;
});

答案 3 :(得分:-1)

我是为java做的:

    //If user submits the form
    $('#edit').submit(function(e){
    e.preventDefault();
    $.ajax({
        type:'POST',
        url:'post.php',
        dataType:'json',
        data:$('#edit').serialize(),
        success:function(data) {
            console.log("success");
            $('#feedback').html(data).fadeIn().delay(3000).fadeOut();
        },
        error: function( jqXHR,textStatus,errorThrown ){
            console.log(textStatus);
        }
    });
});

和表格:

<form id="edit" action="" method="POST">
<input type="text" name="name" >
<input type="text" name="phone" >
<input type="text" name="address" >
<input type="submit" name="submit" value="Send">