我一直在调试一个小时:
<script type="text/javascript">
function initialize() {
alert('test');
var latlngarr = new Array();
var titlearr = new Array();
<?php
echo "latlngarr.length=".$response->total.";";
echo "titlearr.length=".$response->total.";";
for ($i=0;$i<$response->total;$i++){
echo "latlngarr[".$i."] = new google.maps.LatLng(".$response->businesses[$i]->location->coordinate->latitude.",".$response->businesses[$i]->location->coordinate->longitude.");";
echo "titlearr[".$i."] = \"".$response->businesses[$i]->name."\";";
}
?>
var myOptions = {
zoom: 10,
center: latlngarr[0],
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var markerarr = new Array(titlearr.length);
for(var i=0;i<markerarr.length;i++)
markerarr[i] = new google.maps.Marker({position: latlngarr[i], map: map, title:titlearr[i]});
}
</script>
<body onload="initialize()">
我得到的错误是:
未捕获到的SyntaxError:意外令牌<
和
未捕获的ReferenceError:未定义初始化
当我删除该
PHP
代码块时,它不会给我该错误。为什么?更新:
错误在这里:
$(".saved").live('click', function() {
var $btn = $(this);
$.post("update.php", {uid: my_uid, save: "no", mid: "<?php echo $mid; ?>"}, function(){
setTimeout(function(){
$btn.replaceWith('<a class="save action_btn" onclick="return false;">Save</a>');
}, 100); //this is line 76
});
});
这是从该初始化函数生成的JS:
function initialize() {
alert('test');
var latlngarr = new Array();
var titlearr = new Array();
<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined property: stdClass::$total in C:\wamp\www\movie.php on line <i>89</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0009</td><td bgcolor='#eeeeec' align='right'>711160</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\movie.php' bgcolor='#eeeeec'>..\movie.php<b>:</b>0</td></tr>
</table></font>
latlngarr.length=;<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined property: stdClass::$total in C:\wamp\www\movie.php on line <i>90</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0009</td><td bgcolor='#eeeeec' align='right'>711160</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\movie.php' bgcolor='#eeeeec'>..\movie.php<b>:</b>0</td></tr>
</table></font>
titlearr.length=;<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined property: stdClass::$total in C:\wamp\www\movie.php on line <i>91</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0009</td><td bgcolor='#eeeeec' align='right'>711160</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\movie.php' bgcolor='#eeeeec'>..\movie.php<b>:</b>0</td></tr>
</table></font>
var myOptions = {
zoom: 10,
center: latlngarr[0],
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var markerarr = new Array(titlearr.length);
for(var i=0;i<markerarr.length;i++)
markerarr[i] = new google.maps.Marker({position: latlngarr[i], map: map, title:titlearr[i]});
}
最佳答案
好吧,<br />
不是JavaScript,所以会导致错误。
其余的html也会在javascript块内回显...
如您所见,它基本上是一条很大的错误消息,来自php。
关于php - 这个javascript和php代码有什么问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5838008/