我在HTML页面中有以下jQuery增强的Javascript:
<script>
$(document).ready(function(){
$("#sb").click(function(e){
e.preventDefault();
getusername = "Yes";
getpassword = "Yes";
getusername = encodeURIComponent(getusername);//url encodes data
getpassword = encodeURIComponent(getpassword);//url encodes data
$.ajax({
type: "POST",
url: "get_login.php",
data: {'username': getusername, 'password':getpassword},
dataType: "json",
success: function(data) {
$("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>");
}
});
});
});
</script>
我的php如下:
if(isset($_POST['username']) && isset($_POST['password'])){
echo json_encode(array('message' => 'Tester'));
}
然而,该脚本无效。我认为这与我从浏览器发布数据的方式有关。也许我错误地设置了用户名和密码,并且它在isset语句中失败了?
目前,该页面什么也没做。按钮单击事件处理程序正在触发...但我的HTML页面中的message_ajax div没有正确响应更新...
答案 0 :(得分:0)
更改行
$("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>");
到
$("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>");
并尝试!!!
答案 1 :(得分:0)
你需要更改mime标题...你的ajax期望json作为响应,所以你需要设置正确的标题。
header('Content-type: application/json');
http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests