Dav*_*slv 0 php ajax jquery json
我有一个小调查,但当我提交它说msg为空,我不知道我的错误在哪里.
如果你能帮助我,我可以帮助我.
谢谢
我的表单与Jquery和Ajax函数
<!DOCTYPE HTML>
<hmtl lang="pt-PT">
<head>
<title>Formulário</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
</head>
<body>
<hr />
<h3>Formulario</h3>
<script type="text/javascript" charset="utf-8">
$(function () {
$('#submiter').click( function() {
$.ajax({
type: "POST",
url: 'validar.php',
dataType: 'json',
success: function(msg) {
alert('Mensagem '+ msg.mensagem);
},
error : function () {
alert('Ocorreu um erro');
}
});
});
});
</script>
<form id="formulario" action="" method="post" accept-charset="utf-8">
<p>Pergunta 1</p>
<label for="pergunta1">sim</label><input type="radio" id="p1" name="pergunta1" value="1" /><br />
<label for="pergunta1">não</label><input type="radio" id="p1" name="pergunta1" value="0" />
<br />
<p>Pergunta 2</p>
<label for="pergunta2">sim</label><input type="radio" name="pergunta2" value="0" /><br />
<label for="pergunta2">não</label><input type="radio" name="pergunta2" value="1" />
<br />
<p>Pergunta 3</p>
<label for="pergunta3">sim</label><input type="radio" name="pergunta3" value="0" /><br />
<label for="pergunta3">não</label><input type="radio" name="pergunta3" value="1" />
<br />
<p>Pergunta 4</p>
<label for="pergunta4">sim</label><input type="radio" name="pergunta4" value="0" /><br />
<label for="pergunta4">não</label><input type="radio" name="pergunta4" value="1" />
<br />
<p><input type="submit" id="submiter" value="Continue →"></p>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的PHP
<?php
if($_POST) {
$pergunta1 = $_POST['pergunta1'];
$pergunta2 = $_POST['pergunta2'];
$pergunta3 = $_POST['pergunta3'];
$pergunta4 = $_POST['pergunta4'];
$calcular = $pergunta1 + $pergunta2 + $pergunta3 + $pergunta4;
$var = array ('mensagem' => $calcular);
echo json_encode($var);
}
else {
$var2 = array('mensagem' => 'sem resultado');
echo json_encode($var2);
}
?>
Run Code Online (Sandbox Code Playgroud)
有两个问题.在PHP的中途你<php没有<?php.但实际上你应该使用json_encode.只需用你的数据制作一个PHP数组,json_encode就可以了,它会为你做所有聪明的JSON.保持这种方式会容易得多.
另一个问题:JSON键应该是字符串.
尝试这样的事情:
$result = array();
if ($calcular <= 9) {
$result['mensagem'] = 1;
}
//... etc.
echo json_encode($result);
Run Code Online (Sandbox Code Playgroud)
编辑:我刚刚完成了一项检查,以下内容适用于我:
$(document).ready(function () {
$.ajax({
type: "POST",
url: 'validar.php',
dataType: 'json',
success: function(msg) {
alert('Mensagem '+ msg.mensagem);
},
error : function () {
alert('Ocorreu um erro');
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |