如何在ajax调用上获取JSON数据

时间:2014-01-31 12:36:49

标签: jquery ajax json

我试图从ajax调用的php页面获取JSON数据.php页面返回AJAX字符串,现在我必须获取JSON数据并显示值分开。

我该怎么做?

这是我正在使用的代码.... 当我运行此代码以获取数据product_id时,它显示警告未定义。

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Request json test</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script language="JavaScript">
$(document).ready(function(){
    $("#testjson").click(function(e){
        startJsonSession();
        return false;
    });

    function startJsonSession(){  
        $.ajax({
            url: "index.php",
            cache: false,
            dataType: "json",
            complete: function(data) {
                pid = data.product_id;
                alert(pid);
            }
        });
    }
}); 
</script>

</head>
<body>
<a href="#" id="testjson">Get JSON Data</a>
<div id="showdata"></div>
</body>
</html>

index.php的输出JSON:

[{"ID":"1","product_id":"3","image_name":"cycle5.png","image_type":".jpg"},{"ID":"2","product_id":"6","image_name":"cycle3.png","image_type":".jpg"},{"ID":"3","product_id":"4","image_name":"cycle2.png","image_type":".jpg"},{"ID":"4","product_id":"43","image_name":"cycle1.png","image_type":".jpg"},{"ID":"5","product_id":"7","image_name":"cycle8.png","image_type":".jpg"},{"ID":"6","product_id":"9","image_name":"cycle0.png","image_type":".jpg"},{"ID":"7","product_id":"543","image_name":"cycle6.png","image_type":".jpg"},{"ID":"8","product_id":"445","image_name":"cycle9.png","image_type":".jpg"},{"ID":"9","product_id":"453","image_name":"cycle75.png","image_type":".jpg"},{"ID":"10","product_id":"725","image_name":"cycle86.png","image_type":".jpg"}]

1 个答案:

答案 0 :(得分:6)

获得第一个product_id

pid = data[0].product_id
alert(pid);

Fiddle Demo

从响应中获取每个product_id

complete: function(data) {
    $.each(data,function(){
        alert(this.product_id);
    });
}

Fiddle Demo