如何使用jQuery通过$ .get函数显示数据?

时间:2012-03-16 15:49:13

标签: php jquery getjson

我有这个问题,我一直在努力,现在我需要帮助: 我有以下数组

array(2) {
  [0]=>
  object(stdClass)#4 (4) {
    ["id"]=>
    string(1) "1"
    ["idMake"]=>
    string(1) "1"
    ["modelName"]=>
    string(6) "Legend"
    ["modelYear"]=>
    string(4) "1986"
  }
  [1]=>
  object(stdClass)#5 (4) {
    ["id"]=>
    string(1) "2"
    ["idMake"]=>
    string(1) "1"
    ["modelName"]=>
    string(3) "MDX"
    ["modelYear"]=>
    string(4) "2000"
  }
}

如何通过jQuery使用$.get()函数来实现这样的目的:

id   Model      Year
  1    Legend     1986
  2    MDX        2000

我已经尝试了以下内容:

process.php文件:

<?php
require 'DataLayer.class.php';
$dl = new DataLayer();

//get car make models
$models = $dl->getCarModels($id);
if(isset($models)){
    echo json_encode(json_encode($models));
}
else{
    echo 'failed';
}
?>

getCarModels函数:

public function  getCarModels($id){
    $stmt = $this->pdo->prepare("SELECT  * FROM model WHERE idMake=? ORDER BY modelName");
    $stmt->execute(array($id));
    return $stmt->fetchAll(PDO::FETCH_OBJ);
}

单击某些链接时调用Javascript函数

function getCarModels(id, make){
    $.get(process.php, function(data){       
        var models = $.parseJSON(data); 
        for(var model in models.model.modelName){ // I got stuck here

        } 
    });
} 

希望这对某人有意义。感谢。

只需在此链接中找到一些类似的问题:php multidimensional array into jQuery我正在试一试。


就像我从一开始就说的那样,我的问题与此链接php multidimensional array into jQuery上发布的问题非常相似。我唯一的问题是我真的不知道为什么他们使用json_encode()函数两次,因为我所做的一切是为了使其正常工作是删除一个json_encode()函数。

我会理解为什么我只使用jsan_encode()函数来获得我想要的结果的原因,而在大多数教程中它已经输出数据两次了。

再次感谢。

1 个答案:

答案 0 :(得分:0)

你不需要在jQuery ajax中使用parseJSON,jQuery已经处理过了。您的数据是一个对象数组。这是使用$.each

循环的示例

您的getCarModels()功能未设置为发送数据

function getCarModels(id, make){

     var dataToServer={ id: id, make: make};/* need to match these keys to $_GET keys in php*/
    $.get(process.php, dataToServer, function(data){       
        $.each( data, function(i, item){
            $('body').append('<p>'+item.modelName+'</p>');
        })
    });
}

php也有问题,它似乎没有从ajax中寻找$ _GET传递给你的查询方法。我不认识你的PHP中使用的框架函数,但要将ID传递给pphp中的getCarModels,你需要这样的东西:

 $id=$_GET['id'];
 //get car make models
 $models = $dl->getCarModels($id);