json在发布后编码问题

时间:2015-10-13 04:23:52

标签: php jquery arrays json

我只是在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);

?>

3 个答案:

答案 0 :(得分:1)

您好请在您的php文件顶部添加bellow行

<p>Properties like <a href="...">href="..."</a> and <a href="...">name="..."</a> should come after the &lt;a and before the &gt;.</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")