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

时间:2015-03-08 05:21:57

标签: javascript jquery

所以我有这个代码使用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

我很感激你能给予的任何帮助!上次收到了很好的回应。

谢谢!

3 个答案:

答案 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问题)
  结果乘以输入的值。