【发布时间】:2015-02-04 14:13:00
【问题描述】:
我正在尝试使用 PHP 创建一个 Javascript 数组。当我运行 PHP 代码(如下)时,它会返回必要的数组。
$counties = 'SELECT * FROM house_price_data_db.county_median_months where county=$1 or county=$2 or county=$3 order by county';
$result_counties = pg_query_params($dbconn,$counties,array($county1,$county2,$county3)) or die('Query failed: ' . pg_last_error());
$county_meds_php = array();
while($r = pg_fetch_assoc($result_counties)) {
$county_meds_php[] = $r;
}
echo("county_med_month=".json_encode(array_values($county_meds_php), JSON_NUMERIC_CHECK).";");
pg_close($dbconn);?>
这是我在 Javascript 中调用信息的地方的片段:
county_1="Dublin";
county_2="Galway";
county_meds(county_1,county_2);
function county_meds(a,b){
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","county_med_month.php?c_1="+a+"&c_2="+b,false);
xmlhttp.send()
}
然后当我尝试调用时:
if(county_med_month.length > 0)
console.log("The array was created!, the problem was with my JavaScript code!");
我收到此错误:
ReferenceError: county_med_month is not defined
建议/建议?
【问题讨论】:
-
在您的 ajax 代码中没有任何地方实际捕获脚本的响应,所以正如错误所说,
country_med_month永远不会被定义。 -
在客户端,数据以文本形式接收,要么在AJAX请求中指定响应数据类型,要么手动解析
-
将 PHP 执行后的最终 javascript 代码粘贴到另一个代码框中(使用您的浏览器内置的 Inspector 工具)
标签: javascript php arrays referenceerror