我的 AJAX 有问题。当我通过 AJAX 发送请求时,首先我从 xhr.status 返回 200(好的)。但后来,我回来了
syntaxerror: unexpected token < .
难道它是html标签的一部分?我的标题是 application/json。那么可能是什么问题呢?这是我所有的文件:
HTML
<?
require_once('../includes/helpers.php'); //just setting up
session_start();
//Google Maps API key: AIzaSyDUE08r9kD1p5QsqOzmI6_EcoUNCJntf5I
render('header', array('title' => 'BART index'));
?>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDUE08r9kD1p5QsqOzmI6_EcoUNCJntf5I&sensor=false"></script>
<script type="text/javascript">
function initialize() { //start the map. code from google maps tutorial.
var mapOptions = {
center: new google.maps.LatLng(37.7750, -122.4183),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
</script>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function() {
console.log($("#route").val());
$.ajax ({
type: "GET",
responseType: "json",
url: "stations.php",
data: {
route: $("#route").val()
},
success: function(data) {
console.log(data);
var i = 1;
var routePathCoords = [];
var pathColor = data.color;
console.log(data.stations);
$.each(data.stations, function() {
routePathCoords.push(new google.maps.LatLng(data.lat[i], data.longit[i]));
i++;
});
function initialize() { //start the map. code from google maps tutorial.
var mapOptions = {
center: new google.maps.LatLng(37.7750, -122.4183),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
},
error:function (xhr, ajaxOptions, thrownError){
console.log(ajaxOptions);
alert(xhr.status);
alert(thrownError);
}
});
return false;
});
});
</script>
<?
render('header2');
?>
<form id="form" class="form-inline">
<input type="hidden"><select type="text" name="route" id="route">
<option name="route">Pittsburg/Bay Point - SFIA/Millbrae</option>
<option name="route">Fremont - Richmond</option>
<option name="route">Fremont - Daly City</option>
<option name="route">Richmond - Daly City/Millbrae</option>
<option name="route">Dublin/Pleasanton - Daly City</option>
</select>
<input type="submit" value="Route" class="btn" id="submit">
</form>
<div id="map_canvas" style="width:500px; height:500px"></div>
<?
render('footer');
?>
PHP
<?
require_once("../includes/helpers.php");
session_start();
$dbh = connect_db('mysql:host=localhost;dbname=project2', '*****', '*****');
//defining class Route
class Route {
public $stations = array();
public $color;
public $lat = array();
public $longit = array();
}
header("Content-type: application/json");
$route = htmlspecialchars($_GET['route']); //getting desired route
//find route within database
$query = $dbh->query("SELECT color, lat, longit, station FROM stations WHERE route='$route'");
var_dump($query);
if ($query->rowCount() > 0) { //does query exist?
$route = new Route();
foreach ($query as $row) { //getting all variable names
$route->color = $row['color']; //then setting them to object variables
foreach ($query as $value) {
array_push($route->stations, $value['station']); //adding on for each station to the array
array_push($route->lat, $value['lat']); //adding latitude
array_push($route->longit, $value['longit']); //and longitude
}
break;
}
}
json_encode($route);
?>
对于错误的间距,我提前表示歉意。感谢您的帮助
最佳答案
你没有输出任何东西......改变
json_encode($route);
到
echo json_encode($route);
调试此类问题的最佳方法是使用类似 firebug 的工具- 您可以看到包括内容在内的实际通信
关于php - 意外的标记 < AJAX jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724745/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll
我在一个我想在formtasticGem中覆盖的方法中找到了这个。该方法如下所示:defto_htmlinput_wrappingdohidden_field_html是什么意思?在第三行做什么?我知道它对数组有什么作用,但在这里我不知道。 最佳答案 你可以这样读:hidden_field_htmllabel_with_nested_checkbox是连接到hidden_field_html末尾的参数-为了“清晰”,他们将其分成两行 关于ruby-on-rails-没有参数的`
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://
如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail
我正在尝试在ruby脚本中连接到服务器https://www.xpiron.com/schedule。但是,当我尝试连接时:require'open-uri'doc=open('https://www.xpiron.com/schedule')我收到以下错误消息:OpenSSL::SSL::SSLError:SSL_connectreturned=1errno=0state=SSLv2/v3readserverhelloA:sslv3alertunexpectedmessagefrom/usr/local/lib/ruby/1.9.1/net/http.rb:678:in`conn
我正在使用准备一个巨大的字符串循环中的运算符。最后我想删除最后2个字符。some_loopstr我认为上面的最后一个操作也会消耗内存和时间,但我不确定。就是想看看有没有和效果相反的操作所以我可以从同一个字符串中删除最后两个字符。 最佳答案 事实上,字符串切片已经是一种快速且内存高效的操作,因为只有在真正需要时才会复制字符串内容。请参阅“Seeingdouble:howRubysharesstringvalues”中的详细说明。请注意,这是对字符串操作的某种经典优化;Youhaveitinjavatoo我们经常在C中使用类似的技巧。所
在Ruby中有运算符(operator)。在API中,他们没有命名它的名字,只是:Theclassmustdefinetheoperator...Comparableusestoimplementtheconventionalcomparison......theobjectsinthecollectionmustalsoimplementameaningfuloperator...它叫什么名字? 最佳答案 参见上面的@Tony。然而,它也被称为(俚语)“宇宙飞船运算符(operator)”。