gpt4 book ai didi

javascript - 循环无法与 php 和 ajax 一起正常工作

转载 作者:行者123 更新时间:2023-12-03 02:52:09 24 4
gpt4 key购买 nike

所以,基本上我正在尝试使用 php 和 ajax 创建一个简单的 usdpounds 转换器。我知道使用 jQuery 会容易得多,但这是一项作业,并且不允许使用 jQuery。下面是我正在处理的代码,但是当我运行时,它会给我“请确保输入的是有效数字。”即使我肯定输入了一个数值。我已经搜索了几个小时来尝试找出如何修复此代码,所以我希望这里有人能给我一些见解。

HTML

  <form method="get" action="">
<label for="damount">Dollars to Convert:</label>
<input type="text" name="damount" id="damount">

<div>
<input type="button"value="go" onclick="submitForm();">
</div>
<p id="results"></p>
</div>

</form>

AJAX

     var http2 = createRequestObject();
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}

function submitForm() {

http2.open('get', 'calculations.php');
http2.onreadystatechange = toCalc;
http2.send(null);
}


function toCalc() {
if(http2.readyState == 4){
document.getElementById("results").innerHTML = http2.responseText;
}
}

PHP

if (isset($_REQUEST['damount']) && is_Numeric($amount))
{
$rate = 0.80;
$amount = $_REQUEST['damount'];
$money = $rate * $amount;
echo '£' . number_format($money, 2, '.', '');
}

else
{
echo "Please make sure entry is a valid number.";
}

我对 aJax 还很陌生,所以任何帮助将不胜感激。

最佳答案

导致此问题的原因是您正在向服务器发送 GET http 请求,但没有向服务器发送数据。调用函数时,您必须使用查询字符串将数据传递到服务器。

在 Ajax 文件中进行更改

function submitForm() {

damount = document.getElementById("damount").value;

http2.open('get', 'calculations.php?damount=' + damount);
http2.onreadystatechange = toCalc;
http2.send(null);
}

在 php 文件中,现在 damount 将可用。在 php 文件中,$amount 变量在 is_numeric 函数中未定义。因为它已经在条件检查后面的 block 内定义了。改变也是如此

<?php

if (isset($_REQUEST['damount']) && is_Numeric($_REQUEST['damount']))
{
$amount = $_REQUEST['damount'];
$rate = 0.80;
$money = $rate * $amount;
echo '£' . number_format($money, 2, '.', '');
}
else
{
echo "Please make sure entry is a valid number.";
}
?>

关于javascript - 循环无法与 php 和 ajax 一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com