如何将变量设置为外部内容

How to set variable to external content?

本文关键字:外部 设置 变量      更新时间:2023-09-26

所以我有这段代码,它使用 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。但是,我希望它做的是将其乘以位于以下 url 的数字:https://www.eobot.com/api.aspx?coin=DOGE

该网址上只有一个数字,没有别的,即 0.00014253

我将不胜感激你能提供的任何帮助!上次收到了很好的回应。

谢谢!

由于跨源策略,您无法向其发出 ajax 请求。相反,我建议在您的服务器上使用 curl 或其他东西,然后在加载时将该值输入到页面中,或者向您的服务器发出 ajax 请求,然后向该链接发出请求。

编辑:按照@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);
    });
});

好吧,我不喜欢让你得到"这是不可能的"答案,所以你来了:

将文件命名为 test.php并在实时服务器或本地主机上使用它

<?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从外部站点提取内容来实现

在"输入"上,AJAX使用GET联系相同的.php文件(jQ的AJAX确实type)。
PHP 将内容从外部 URI 获取到我们的服务器,并以 String 响应退出。
AJAX 从我们的服务器返回响应(没有 COP 问题)
结果乘以输入的值。