这是我的代码:
<div id="test"></div>
<form id="form-lecturer-login">
<table>
<tbody>
<tr>
<td>
<label class="label">Username : </label><br>
<input name="username" value="" type="text">
</td>
</tr>
<tr>
<td>
<label class="label">Password : </label><br>
<input name="password" value="" type="text">
</td>
</tr>
</tbody>
</table>
<input value="Log In" type="submit">
</form>
<script type="text/javascript">
$('#form-lecturer-login').submit(function(){
$.post("../php/lecturer_login.php",$(this).serialize(),
function(data){
$('#test').html(data[0]).show();
}, "json");
});
</script>
在lecturer_login.php中:
<?php
$stack = array();
array_push($stack,"test");
echo json_encode($stack);
?>
注意:我知道我传递的数据是我不使用的。仅用于测试目的。
'test'div不会将文本更改为“test”。
我正在通过示例学习这个,我遵循了jquery文档。我错过了什么? 是否包括以下内容:
<script type="text/javascript" src="../js/jquery-1.4.2.min.js" ></script>
在我需要的文件头中?
答案 0 :(得分:0)
我会做像
这样的事情<?php
$stack = array();
$stack['info']='test';
echo json_encode($stack);
?>
而不是$ .post我更喜欢$ .ajax
$.ajax({
url:'../php/lecturer_login.php',
type:'POST',
dataType:'json',
success:function (result) {
$('#test').html(result.info);//since info is the key of the json maybe the same for $.post
}
});
我忘了你需要
event.preventDefault();
答案 1 :(得分:0)
我认为问题在于你没有阻止回发。
尝试这样做:
<script type="text/javascript">
$('#form-lecturer-login').submit(function(event){
event.preventDefault();
...
向函数添加参数并调用preventDefault()方法。