0

这是我的 HTML 代码

<form action="http://localhost/xiuno" method="post">
    <h1>TEST</h1><br/>
    <input type="submit" value="submit" id="submit"/>
</form>

<script type="text/javascript">
$(function(){
    $("#submit").click(function(){
        $.post("test12.php", { name: "John", time: "2pm" }).done(function(data) {
        alert("Data Loaded: " + data);
        });
        return false;       
    });
});
</script>

这是我的PHP代码

<?php
$a = $_POST['name'];
echo $a;

1.首先,当我点击提交时,它没有检索任何数据并重定向到页面配置的表单操作,返回false不起作用。

2.其次,即使我删除了表单操作

<form method="post">

它仍然没有从 php 脚本中检索任何内容。

3.最后,最让我困惑的是,我不确定我传递给 php 的数据字段

{ name: "John", time: "2pm" }

是作为对象类型或 json 类型,我知道如果密钥被这样的配额包围,它将是 json

{ "name": "John", "time": "2pm" }

4.是否意味着如果我发送这样的数据,就不需要对其进行字符串化,因为它已经是json类型了?

4

3 回答 3

0

使用preventDefault而不是 return false 并将其放在开头。

于 2013-06-28T12:44:59.913 回答
0

首先

尝试这个,

$(function(){
    $("#submit").on('click',function(e){
        e.preventDefault();
        $.post("test12.php", { name: "John", time: "2pm" }).done(function(data) {
        alert("Data Loaded: " + data);
        });
        return false;       
    });
});

其次它会在删除actionfrom后工作form element

第三,您的两个对象具有相同的含义,因为nametime是键,因此无关紧要single or double quotes

于 2013-06-28T12:47:30.403 回答
0

尝试这个

<script type="text/javascript">
$(function(){
   $("form").submit(function() {
       $.post("test12.php", { name: "John", time: "2pm" }).done(function(data) {
        alert("Data Loaded: " + data);
        });      
return false;   
       });
    });
    </script>
于 2013-06-28T12:54:22.160 回答