在javascript中处理PHP为AJAX调用返回的数据
我的PHP脚本在javascript中处理PHP为AJAX调用返回的数据,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我的PHP脚本 <?php //connect to server //selecting the database $temparr=array(); $count=0 $result = mysql_query("some query"); while($row = mysql_fetch_assoc($result)) { $temparr["$count"]= $row["value"] ; $count+=1; } echo json_encode($temparr)
<?php
//connect to server
//selecting the database
$temparr=array();
$count=0
$result = mysql_query("some query");
while($row = mysql_fetch_assoc($result))
{
$temparr["$count"]= $row["value"] ;
$count+=1;
}
echo json_encode($temparr);
mysql_close($conn);
?>
那么如何解析返回的字符串并显示正确的计数(这里的计数应该是2)我假设您需要返回数组中的元素数。但是,
count
不是正确的JavaScript属性。改为使用temp.length
。我假设您想要返回数组中的元素数。但是,count
不是正确的JavaScript属性。改为使用temp.length
。在浏览器窗口中调用php脚本,您将看到没有名为“count”的JSON对象。数组将由标记为0、1、2、
如果您尝试显示temp[0],您应该会看到第一个值。在浏览器窗口中调用php脚本,您将看到没有名为“count”的JSON对象。数组将由标记为0、1、2、
如果您尝试显示温度[0],您应该会看到第一个值。以下是正确的方法:
var obj = jQuery.parseJSON('["1","2"]');
alert(obj.length);
“.count”需要替换为“.length”。
请在此处尝试:以下是正确的方法:
var obj = jQuery.parseJSON('["1","2"]');
alert(obj.length);
“.count”需要替换为“.length”。
在这里尝试:使用jQuery,您可以简化ajax调用,顺便说一句:
function someFunction(){
$.ajax({
url: "mymethodpath",
type: 'get',
dataType: 'json',
success: function(jsonObj) {
alert(jsonObj.length);
}
});
}
您也可以使用
$.getJSON()
,但我自己喜欢使用基本函数(getJSON也会在幕后使用该函数)。通过jQuery,您可以简化ajax调用,顺便说一句:
function someFunction(){
$.ajax({
url: "mymethodpath",
type: 'get',
dataType: 'json',
success: function(jsonObj) {
alert(jsonObj.length);
}
});
}
您也可以使用
$.getJSON()
,但我自己喜欢使用基本函数(getJSON也会在后台使用该函数)。我在php脚本的while循环中填充$temparr。请注意,mysql.*
函数已被弃用(请参阅)。顺便说一句,如果您使用的是jQuery,为什么不使用呢?使用obj=JSON.parse(xmlhttp.responseText);也可以考虑删除代码中的$> $TEMPARR [“$计数”] /代码>…然后直接使用<代码> MySqLyFixChyRayALE()/<代码>而不是<代码> MySqLyFixChyAsSoCo()/<代码>。不需要$count
variable..@MarcelKorpel我对jQuery比较陌生,所以我不熟悉$。getJSON会仔细阅读,看看它是否有用!我正在php脚本的while循环中填充$temparr。请注意,mysql.*
函数已被弃用(请参阅)。顺便说一句,如果您使用的是jQuery,为什么不使用呢?使用obj=JSON.parse(xmlhttp.responseText);也可以考虑删除代码中的$> $TEMPARR [“$计数”] /代码>…然后直接使用<代码> MySqLyFixChyRayALE()/<代码>而不是<代码> MySqLyFixChyAsSoCo()/<代码>。不需要$count
variable..@MarcelKorpel我对jQuery比较陌生,所以我不熟悉$。getJSON会仔细阅读,看看它是否有用!谢谢我对jQuery比较陌生,所以我会仔细阅读你的调整!谢谢我对jQuery比较陌生,所以我会仔细阅读你的调整!