我有一个基本的html表单,我试图使用jquery和json将表单的值传递给PHP。我是新手,但我做了很多研究,我认为我输入的一切都是正确的。当我点击提交时(以及那个我想要的行为),页面不再重新加载,但是我编写了一个javascript警报,以查看数据是否正在传递以及该警报是否无效。我已经看了几个小时的代码,但我似乎无法找到任何错误。有人能告诉我为什么警报不起作用吗?
这是我的main.php
<!DOCTYPE html>
<html>
<head>
<title>leader</title>
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div class = "container">
<form action="post.php" method="post" id="add">
<input type="text" class="leader" name="name" placeholder="Leader">
<input type="submit" value="send" />
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.10.4.custom.js"></script>
<script src="globe.js"></script>
<ul id ="hours_zoned">
<li class="nine">9</li>
<li class="ten">10</li>
<li class="eleven">11</li>
<li class="twelve">12</li>
<li class="one">1</li>
<li class="two">2</li>
<li class="three">3</li>
<li class="four">4</li>
<li class="five">5</li>
<li class="six">6</li>
<li class="seven">7</li>
<li class="eight">8</li>
<li class="nine">9</li>
</ul>
</div>
</body>
</html>
这是我的globe.js
$('#add').on('submit', function() {
var name = $('.leader').val();
$.ajax({
url: 'post.php',
dataType: 'json',
type: 'post',
data: name,
success: function (data) {
if(data.success) {
alert('the result is ' + data.result);
}
}
});
return false;
});
这是我的post.php
<?php
header('Content-type: text/javascript');
$json = array(
'success' => false,
'result' => 0
);
if(isset($_POST['name'])) {
$name = $_POST['name'];
$json['success'] = true;
$json['result'] = $name;
}
echo json_encode($json);
?>
答案 0 :(得分:1)
在globe.js中进行更改并且有效:
$('#add').on('submit', function() {
var name = $('.leader').val();
$.ajax({
url: 'post.php',
dataType: 'json',
type: 'post',
data: 'name='+name,
success: function (data) {
if(data.success) {
alert('the result is ' + data.result);
}
}
});
return false;
});
答案 1 :(得分:0)
我不知道那是否可行,但我认为您的数据属性应该是一个对象。
$('#add').on('submit', function() {
var name = $('.leader').val();
$.ajax({
url: 'post.php',
dataType: 'json',
type: 'post',
data:{
name : 'Name value'
},
success: function (data) {
if(data.success) {
alert('the result is ' + data.result);
}
}
});
return false;
});