这是我的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类型了?
答案 0 :(得分:0)
使用preventDefault而不是返回false并将其放在开头。
答案 1 :(得分: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;
});
});
第二次从action
form element
后,它会有效
第三次您的两个对象具有相同的含义,因为name
和time
是关键所以,single or double quotes
无关紧要
答案 2 :(得分: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>