所以我有这个代码使用JQuery从文本字段中输入的数据输出实时计算。一切正常,如下所示:
$(document).on('keyup', '#w_amount', function(){
// alert('pressed')
var totalcost= 11 * $(this).val()
$(".total_cost").html(totalcost);
})
它在这里输出:
<span class=\"total_cost\" style=\"display: inline; vertical-align: inherit;\">0</span>
目前,代码会将输入的任何数字加到文本字段中,然后乘以11.然而,我希望它将其乘以位于以下网址的数字:https://www.eobot.com/api.aspx?coin=DOGE
该网址上只有一个数字,而不是0.00014253
我很感激你能给予的任何帮助!上次收到了很好的回应。
谢谢!
答案 0 :(得分:0)
由于Cross-origin policy,您无法向其发出ajax请求。相反,我建议您在服务器上使用curl或其他内容,然后在加载时将该值输入页面,或者向服务器发出ajax请求,然后向该链接发出请求。
答案 1 :(得分:0)
编辑:根据@Sukima的建议:将data
参数重命名为url_figure
,以避免声明不必要的变量。
假设您的jQuery脚本,HTML文件都托管在具有该图(eobot.com)的同一服务器上,那么这就是它的完成方式。
$(document).on('keyup', '#w_amount', function(){
// alert('pressed')
$.get( "https://www.eobot.com/api.aspx?coin=DOGE", function( url_figure) {
var totalcost= url_figure * $(this).val()
$(".total_cost").html(totalcost);
});
});
答案 2 :(得分:0)
好吧,我不想让你离开&#34;它不可能&#34; 回答所以你走了:
将文件命名为 test.php ,并在实时服务器或 localhost 上使用
<?php
if( isset($_GET["getCoinValue"]) ){
$val = @file_get_contents("https://www.eobot.com/api.aspx?coin=DOGE");
exit ($val ? "$val" : "Could not retrieve data");
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>GET DOGE</title>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>
W <input id="w_amount" type="text"><br>
* <input class="doge_value" type="text" readonly><br>
= <input class="total_cost" type="text" readonly>
</body>
<script>
$(function(){
var $dogeValue = $(".doge_value");
var $totalCost = $(".total_cost");
$("#w_amount").on('keyup', function(){
var thisValue = parseInt(this.value, 10);
$.ajax({
data : {"getCoinValue":true} ,
success : function( resp ){
$dogeValue.val( resp );
$totalCost.val( thisValue * resp );
},
error : function(x, e){ console.log(x, e); }
});
});
});
</script>
</html>
诀窍是愚弄AJAX结果在我们的服务器上,
通过使用PHP和file_get_contents
On&#34;输入&#34; AJAX使用GET联系相同的.php文件(jQ&#39的AJAX defauly
type
)。
PHP从外部URI到我们的服务器获取内容,并以String响应退出 AJAX服务于我们服务器的响应(没有COP问题)
结果乘以输入的值。