在javascript中处理PHP为AJAX调用返回的数据

在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脚本

<?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比较陌生,所以我会仔细阅读你的调整!