JSON解码php问题

JSON解码php问题,php,jquery,json,post,Php,Jquery,Json,Post,我遇到index.php问题,无法解码json数组。。请帮帮我,我是新手 <script> $(document).ready(function () { $("#slider_price").slider({ range: true, min: 0, max: 100, step: 1, values: [0, 100], slide: function (event, ui)

我遇到index.php问题,无法解码json数组。。请帮帮我,我是新手

<script>
$(document).ready(function () {
    $("#slider_price").slider({
        range: true,
        min: 0,
        max: 100,
        step: 1,
        values: [0, 100],
        slide: function (event, ui) {
            $("#app_min_price").text(ui.values[0] + "$");
            $("#app_max_price").text(ui.values[1] + "$");
        },
        stop: function (event, ui) {
            var nr_total = getresults(ui.values[0], ui.values[1]);

            $("#results").text(nr_total);
        },
    });
    $("#app_min_price").text($("#slider_price").slider("values", 0) + "$");
    $("#app_max_price").text($("#slider_price").slider("values", 1) + "$");
});

function getresults(min_price, max_price) {
    var number_of_estates = 0;
    $.ajax({
        type: "POST",
        url: 'search_ajax.php',
        dataType: 'json',
        data: {
            'minprice': min_price,
            'maxprice': max_price
        },
        async: false,
        success: function (data) {
            number_of_estates = data;
        }
    });
    return number_of_estates;
}

$(文档).ready(函数(){
$(“#滑块#价格”).滑块({
范围:对,
分:0,,
最高:100,
步骤:1,
值:[0,100],
幻灯片:功能(事件、用户界面){
$(“#应用程序最低价格”).text(ui.values[0]+“$”);
$(“#app_max_price”).text(ui.values[1]+“$”);
},
停止:功能(事件、用户界面){
var nr_total=getresults(ui.values[0],ui.values[1]);
$(“#结果”)。文本(共个);
},
});
$(“#应用程序最低价格”)。文本($(“#滑块价格”)。滑块(“值”,0)+“$”;
$(“#应用程序最高价格”)。文本($(“#滑块价格”)。滑块(“值”,1)+“$”;
});
函数getresults(最低价格、最高价格){
不动产的风险值数量=0;
$.ajax({
类型:“POST”,
url:“search_ajax.php”,
数据类型:“json”,
数据:{
“minprice”:min_price,
“最高价格”:最高价格
},
async:false,
成功:功能(数据){
地产数量=数据;
}
});
物业的申报编号;
}

并搜索_ajax.php

<?php
 require_once('includes/commonFunctions.php');
// take the estates from the table named "Estates"
if(isset($_POST['minprice']) && isset($_POST['maxprice']))
{
 $minprice  = filter_var($_POST['minprice'] , FILTER_VALIDATE_INT);  
 $maxprice  = filter_var($_POST['maxprice'] , FILTER_VALIDATE_INT); 
 $query = mysql_query("SELECT * FROM cars WHERE min_range >= $minprice AND max_range     <= $maxprice");

$rows = array();
while($r = mysql_fetch_assoc($query)) {
  $rows[] = $r;
}

echo json_encode($rows);

}
?>


问题是我只想在特定的div“number\u results”中打印$rows。。如何解码json数组?

您确定要传递的数据是json格式的吗

我想应该是这样

'{"minprice": "min_price", "maxprice":"max_price"}'

因为ajax是异步的,所以不能只从函数返回ajax返回的值……在ajax调用完成时,函数将已经返回
number\u of_estate

使用callback或只是调用一个函数并将返回的文本追加到那里

..
stop: function( event, ui ) {
  getresults(ui.values[0], ui.values[1]);
},
...

function getresults(min_price, max_price)
{ 
   var number_of_estates = 0;
   $.ajax({
     type: "POST",
     url: 'search_ajax.php',
     dataType: 'json',
     data: {'minprice': min_price, 'maxprice':max_price},
     async: false,
     success: function(data)
     {
        number_of_estates = data;
        $("#results").text(number_of_estates);
     }
  });
 }

但是,每次停止功能时都会调用ajax,因此请小心。

请花时间正确格式化代码,使其至少可读。通常我会为你这么做,但那太糟糕了。请告诉我一些关于如何编码json数组的想法。你必须输入“房地产的返回号”内在的成功。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。请尝试使用JSON格式化程序/验证程序来查看哪里出了问题。这将是如何构建PHP数组。是的,这是最小和最大价格范围滑块值。。现在它只给了我[对象对象],[对象对象],[对象对象对象]@PanditAnkur我想我误解了你的问题。您希望在成功时显示行数还是显示行本身?我需要滑块值,例如:18或30。输出将显示介于18到30之间的记录。@PanditAnkur使用
console.log(data)
in
success
复制并粘贴日志,就像它在注释中一样。你可以在success函数中发布你的数据吗。。。。尝试
console.log(data)
并使用我以前的代码检查开发人员工具它在#results div上显示[object object],[object object]。您是否尝试使用
console.log()
。。警报将为您提供对象的
[object object]