我试图使用以下API获取实时货币汇率。使用提交按钮时,ajax调用不起作用
"http://www.exchangerate-api.com/INR/USD/1?k=FQRxs-xT2tk-NExQj"
当我点击一个按钮时,它会提示速度并工作正常。我正在使用以下Ajax代码。
<script type="text/javascript" language="javascript">
function testCurrencyRate()
{
$.ajax({
datatype:"html",
type: "GET",
url: "ajax/LiveCurrencyRate.php",
data: "t="+new Date().getTime(),
success: function(response)
{
alert(response);
},
error: function(e)
{
alert('Error while fetchig the live currency rate.');
}
});
}
</script>
该Ajax请求转到LiveCurrencyRate.php
页面,如下所示。
$url="http://www.exchangerate-api.com/INR/USD/1?k=FQRxs-xT2tk-NExQj";
$result = file_get_contents($url);
echo $result;
和包含唯一的按钮点击它时,对此作出URL ajax/LiveCurrencyRate.php
Ajax请求<form></form>
。
<form id="testForm" name="testForm" action="" method="post">
<input type="submit" id="btnTestCurrencyRate" name="btnTestCurrencyRate" value="Test" onclick="testCurrencyRate();"/>
</form>
一切都很好。但是,当我将按钮类型从type="button"
更改为type="submit"
时,问题就出现了,它不起作用。 Ajax功能的错误部分中的警报框仅显示警报框一会儿,突然它消失。我无法找到任何可能阻止此请求完成的合理原因。同样的事情在我之前的项目中为我工作,但我使用XMLHttpRequest
来发出Ajax请求。这里有什么问题?
可能是因为你需要处理它的形式,而不是按一下按钮动作 –
提交的提交行动中触发的默认行为的表单元素(包括页面重新加载)。这很容易预防,应该有很多关于这方面的问题。 – m90