我只是在php和jquery中编写一些代码但我没有什么问题我还不能解决。
我有两段代码,我很确定jquery post方法很好(即时不使用表单,div中只有2个输入)当输入值设置并发送到php我做数据库请求时用于查找与存储数据的匹配。
问题是我想要一个变量“return”用于未来的“if”比较,我试图用json_encode来做,但它总是在js alert()中说未定义。即使我像关联数组一样使用data.answer。
我不知道什么是错的,我希望你能帮助我。
PS:当我使用echo字符串时,它可以正常工作......但不能使用关联数组。如果数组的值为'1'或'2',则可以使用“alert(data)并显示{answer:1}(或2)。我也尝试使用stringify,但它没有用。
正如我所说,我想要比较的价值。
非常感谢你的帮助。
这是我的代码:
Js代码。
$('.send').click(function(){
var id1=$('.id-usuario').val();
var clave1=$('.clave-usuario').val();
$.post('login.php',{id_usuario:id1, clave_usuario:clave1},function (data){
alert(data.answer);
});
和php。
<?php
$id_usuario = $_POST['id_usuario'];
$clave_usuario = $_POST['clave_usuario'];
$dbconn3 = pg_connect("host= localhost port=5432 dbname=EmergenciesResponse user=postgres password=asdf");
$query1=pg_query("select id_usuario, clave_usuario from usuarios where id_usuario='$id_usuario' and clave_usuario='$clave_usuario'");
if(pg_num_rows($query1)==1){
$answer[]=array(
'answer'=>1
);
echo json_encode($answer);
}
else{
$answer[]=array(
'answer'=>2
);
echo json_encode($answer);}
pg_close($dbconn3);
?>
答案 0 :(得分:1)
您好请在您的php文件顶部添加bellow行
<p>Properties like <a href="...">href="..."</a> and <a href="...">name="..."</a> should come after the <a
and before the >.</p>
<p><a href="..."><img /></a><br />Fig. 1</p>%
答案 1 :(得分:1)
您必须使用parseJson
将字符串解析为json formate试试这个
$.post('login.php',{id_usuario:id1, clave_usuario:clave1},function (data){
var parseData = $.parseJson(data); //parse string to json format.
alert(parseData.answer);
});
答案 2 :(得分:1)
使用
设置响应解析的数据类型$.post('login.php',{id_usuario:id1, clave_usuario:clave1},function (data){
alert(data.answer);
}, "json")