- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在这里找不到确切的情况,所以我想问问。我有一些 JavaScript,它们使用 AJAX 试图调用一个 PHP 文件,执行 PHP 脚本,并通过 xmlhttp.responseText 返回一个串联的 PHP 变量,然后提醒该响应。
JS
function queryDB() {
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState===4 && xmlhttp.status===200)
{
alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET","php/location.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send();
}
PHP
<?php
$con = mysql_connect("<THIS DATA HIDDEN FOR SECURITY PURPOSES, IT IS CORRECT");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("gpstracks", $con);
$bus = $_GET['bus'];
$query = "SELECT lat, lon from tracksarchive where runnerid = '$bus' ORDER BY time DESC LIMIT 1;";
$latlon = mysql_query($query);
while ($row = mysql_fetch_array($latlon, MYSQL_ASSOC)) {
$lat = $row['lat'];
$lon = $row['lon'];
}
$result = $lat . ", " . $lon;
echo $result;
mysql_close($con);
?>
是的,我知道 mysql_ 已被 mysqli_ 取代,我稍后会处理。当我自己执行 PHP(使用表单提交)时 - 它显示表中的正确值,但是当我提醒 xmlhttp.responseText - 我只得到逗号和空格 - 没有传递变量。知道我做错了什么吗?非常感谢您的帮助。
旁注:我知道现在 AJAX 调用的首选方法是 jQuery - 但是当我使用 jQuery 时,这个 JavaScript 所在的页面组件不起作用。
最佳答案
when I alert the
xmlhttp.responseText
- I only get the comma and space - no passed variables
您没有正确执行GET;在你的 JavaScript 中你有
xmlhttp.open("GET","php/location.php",true);
即您执行了一个没有 URI 查询字符串的 GET 请求。
在你的 PHP 中你有
$bus = $_GET['bus'];
即你从 URI 查询字符串中获取这些数据,除了没有传递,所以这将是空的,所以
$query = "SELECT lat, lon from tracksarchive where runnerid = '$bus' ORDER BY time DESC LIMIT 1;";
没有按预期工作。
你真的很想做这样的事
xmlhttp.open(
"GET",
"php/location.php?bus="+window.encodeURIComponent(foobar),
true
); // foobar your value for `bus`
此外,您需要对 $bus
进行一些服务器端清理,因为它代表您对 SQL 注入(inject)持开放态度。
关于php - 将 php 变量传递给 xmlhttp.responseText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17089220/
来自this example的新手ajax问题: 在 xmlhttp.open() 和 xmlhttp.send() 之前如何分配 xmlhttp.responseText ? (如果我们需要demo
有两个progid。我见过两个都用过。 任何人都知道我什么时候应该使用一个,什么时候应该使用另一个? 最佳答案 你绝对不应该使用 Microsoft.XmlHttp。 来自 Microsoft XML
实际上我正在开发一个聊天框......但它不符合这个条件。 这是代码 function submitChat() { if (form1.users.value == "" || form1.me
网络服务器正在返回状态代码和描述以响应 XmlHttp 的请求。成分。来自服务器的实际状态响应开头为: HTTP/1.1 400 Not a valid http POST request 我可以在
我的问题是更多的搜索基础,但是如果我更改 readState 值意味着 4 以外的值会发生什么,如果我更改状态值 200 会发生什么以及为什么这里使用常量值或神奇数字 最佳答案 这不是神奇的数字。 您
我已阅读 the MSDN blog post关于它。 和 this question对我也没有太大帮助。 据我所知,检查 Microsoft.XmlHttp 就足够了。 你能确认一下吗 thisbu
我在我的页面上尝试使用 ajax。但它不起作用,因为 if (xmlhttp.readyState==4 && xmlhttp.status==200) 始终为 false。我已经提醒了 xmlhtt
我正在通过ajax发送电子邮件来联系php。 Php 脚本成功发送电子邮件,但 ajax xmlhttp.readyState 始终返回 2,即使 xmlhttp.status 为 200。 para
我希望这两个对象调用都指向 ActiveXObject。 但是为什么我们要传递两个不同的参数才能在 IE 中工作。 1. Msxml2.XMLHTTP 和 2. 微软.XMLHTTP 他们都一样吗?或
代码如下: url="http://www.csdn.net/" wstr=getHTTPPage(url) start=Newst
我正在编写一组 VBA 宏,其中使用 XMLHTTP 对象向服务器发送异步请求。我发送基本身份验证: XMLHttpReq.setRequestHeader "Authorization","Basi
我正在尝试使用 xmlhttp 和 VBA 抓取网站。 Url 有一个井号 (#) 符号,被 VBA 误解了...... 这与此处解释的问题相同: Error in XMLHTTP Get reque
我当前使用的 xmlhttp 函数正在将一个非常小的 int 传递到 php 文件,以便使用 GET 方法进行处理。 xmlhttp=GetXmlHttpObject(); if (x
我需要严格遵守我的xml文档中元素的顺序。如果我使用 XmlHttpContent 序列化程序来形成 xml 内容,字段将按字母顺序排序。 有没有办法明确指定 xml 中元素的顺序?或者还有其他方法可
我正在尝试使用 javascript 并阅读 from http://search.yahooapis.com/ WebSearchService /V1/webSearch?appid=YahooD
url太长就会提示没有权限,ie8不会,这应该跟浏览器有关的 其实有个问题你注意一下就是,改成POST 方式传就解决了 this.xmlHttp.open("POST", thi
我的 AJAX 不工作,我不知道为什么。我错过了什么?? ReferenceError: xmlhttp 未定义@ javascript.js:5 function insapts(pin){
我有一个从这个 url 获取表格的代码 https://www.reuters.com/companies/AAPL.OQ/financials/income-statement-annual 代码没
我正在尝试让 Excel 从搜索引擎中检索数据 (torrentz.eu/search?q=abc) 它应该获取第一个链接的信息并将其显示在 Excel 上: 单元格 A1:我的查询 单元格 A2:链
我正在尝试使用此代码抓取网站以提取姓名和联系人... Sub Test() Dim htmlDoc As Object Dim htmlDoc2 As Object Di
我是一名优秀的程序员,十分优秀!