ajax的返回值返回0

时间:2015-04-15 02:00:35

标签: php ajax

我正在尝试在Ajax中运行转换。我相信我在网上找到的东西,我的一切都是正确的。但是,当我使用计算按钮时,它在我的结果div中返回0,而不是回答。我认为问题是我的数值没有从文本框中正确拉出。我需要像这样做,所以更改html输入类型不是一个选项。我是Ajax的新手,并不太清楚这是如何工作的。任何帮助都会很棒。

我的代码:

<!DOCTYPE html>
<head>
<title>Ajax Money Conversion</title>

<script>
var http = 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 moneyConversion(argLB) {

    http.open('get', 'Conversion.php?pound=' +argLB);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {

    if(http.readyState == 4){
      result = http.responseText.split(",");
      document.getElementById("results").innerHTML = result[0];

    }
}

</script>
</head>

<body>

<div>
<form name="myForm" action="#">
  <h1>Enter amount of Dollars You Want To Convert to Pounds</h1>
   <input type="text" name="txtCurrency" />
   <input type="button" name="calcBtn" value="Calculate" id="calcBtn" onclick="moneyConversion()" />
</form>
</div>

<h1>Total</h1>
<div id="results">


</div>

</body>
</html>

我的函数conversion.php

<?php

$dollars=$_GET["pound"];
$conversion=($dollars * .6302);
print ("$conversion");``

?>

1 个答案:

答案 0 :(得分:1)

onclick="moneyConversion()"

应该是

onclick="moneyConversion(this.form.elements.txtCurrency.value);"

否则你将空字符串传递给php