【发布时间】:2016-02-02 10:13:38
【问题描述】:
我正在尝试从我的 JavaScript 中检索此数据 speedMbps。使用 Ajax 将数据发布到我的 php 代码,但我没有得到任何输出。我是 ajax 新手,只使用 ajax 来自动完成。
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
//JUST AN EXAMPLE, PLEASE USE YOUR OWN PICTURE!
var imageAddr = "testimage.jpg";
var downloadSize = 2097152; //bytes
window.onload = function() {
var oProgress = document.getElementById("progress");
oProgress.innerHTML = "Loading the image, please wait...";
window.setTimeout(MeasureConnectionSpeed, 1);
};
function MeasureConnectionSpeed() {
var oProgress = document.getElementById("progress");
var startTime, endTime;
var download = new Image();
download.onload = function () {
endTime = (new Date()).getTime();
showResults();
}
download.onerror = function (err, msg) {
oProgress.innerHTML = "Invalid image, or error downloading";
}
startTime = (new Date()).getTime();
var cacheBuster = "?nnn=" + startTime;
download.src = imageAddr + cacheBuster;
function showResults() {
var duration = (endTime - startTime) / 1000;
var bitsLoaded = downloadSize * 8;
var speedBps = (bitsLoaded / duration).toFixed(2);
var speedKbps = (speedBps / 1024).toFixed(2);
var speedMbps = (speedKbps / 1024).toFixed(2);
oProgress.innerHTML = "Your connection speed is: <br />" +
speedBps + " bps<br />" +
speedKbps + " kbps<br />" +
speedMbps + " Mbps<br />";
$.ajax({
method: "POST",
url: "test_select.php",
data: {speedMbps: speedMbps },
cache: false
}).done(function( html ) {
$( "#speed" ).val( html );
});
}
}
</script>
<input type="text" id="speed" name="speed" value="">
test_select.php
<?php
echo $_POST['speedMbps'];
if(isset($_POST['speedMbps'])){
echo $speedMbps = $_POST['speedMbps'];
}
?>
【问题讨论】:
-
尝试在您的 AJAX 调用中设置
method: "POST" -
您的
speedMbps变量不在您的 AJAX 调用范围内。 -
在你的 ajax 代码中声明的
speedMbps在哪里? -
我刚刚尝试了您更新的代码,它对我来说是有效的。你还有同样的问题吗?如果是这样,您是否检查过浏览器的控制台?出现任何错误?
标签: javascript php jquery html ajax