我使用php与mysql数据库对话,然后用json_encode对关联数组进行编码。据我所知,这是有效的,我可以直接调用php并查看json结果。
在jQuery中,我在下拉列表中使用onChange来调用php函数并获得结果。
我想我对jQuery和json有问题,但我已经看了很多帖子,都找不到一个好的答案。
这是我正在使用的代码。如何访问json数组?我已经尝试了数据‘’ele‘,data.ele,data和所有返回未定义的数据。
$('#itemDD').change(function(data){
alert("Changing");
askServer(function(data){
alert("!" + data['retailListPrice']);
//spin through the data and put the results in workingQuote
});
});
function askServer(callback)
{
var selItem = $('#itemDD').val();
var strUrl = "getItemList.php?item=" + selItem + "&action=itemInfo";
alert(strUrl);
jQuery.ajax({
url:strUrl,
success:callback,
dataType: "json"
});
}
});
PHP
$sql="SELECT *
FROM items
WHERE modelNum='" . $selectedModel . "'";
$result = mysql_query($sql,$conn) or die("Error" . mysql_error());
while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray));
echo json_encode($resultArray);
发布于 2012-03-29 14:19:16
您将使用数组和mysql_fetch_assoc。因此,要获取数据,请使用 data 或data.rowName
发布于 2012-03-29 10:32:35
试试这个(注意:对象/数组格式在JS中是不同的):
function askServer()
{
var selItem = $('#itemDD').val();
var strUrl = "getItemList.php?item=" + selItem + "&action=itemInfo";
alert(strUrl);
$.get(strUrl, function(data){
alert(data.retailListPrice);
});
}
发布于 2012-03-29 10:54:39
在change事件内部只需调用askServer()
函数并在change事件外部声明它,如下所示
$('#itemDD').change(function(data){
//...
askServer();
});
和你的askServer()
函数
function askServer()
{
var selItem = $('#itemDD').val();
var strUrl = "getItemList.php?item=" + selItem + "&action=itemInfo";
$.get(strUrl, function(data){
$.parseJSON(data);
alert(data.retailListPrice);
});
}
https://stackoverflow.com/questions/9918323
复制相似问题