Javascript 从Ajax调用json文件,并使用单选按钮显示数据

Javascript 从Ajax调用json文件,并使用单选按钮显示数据,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,包含名为services.Json的Json文件: { "0": "Dog", "1": "Cat", "2": "Pony" } Html: Jquery我正在尝试: <script type="text/javascript"> $(document).ready(function() { $('.buttondog').click(function(){ $.ajax({ url: "services.json",

包含名为services.Json的Json文件:

{
"0": "Dog",
"1": "Cat",
"2": "Pony"
}
Html:

Jquery我正在尝试:

    <script type="text/javascript">
$(document).ready(function() {
     $('.buttondog').click(function(){
        $.ajax({
            url: "services.json",
            dataType: "text",
            success: function(data){
                var json = $.parseJSON(data);
                     $('#displayresults').html(json.dog);
                }
            });
        });
    });
</script>
我试了很多东西,但都没用。这似乎削减了很多无关的脚本,但即使这样也不起作用。然后我打算用这个方法为每个按钮制作一个脚本。 我想要的是,一旦狗单选按钮被选中,0将显示在跨度中,当猫,1和小马2


我做错什么了吗?

你可以试试这个脚本,但这不是推荐的方法。要查询的参数应该是所需值的键

var data = {
"0": "Dog",
"1": "Cat",
"2": "Pony"
}; // Replace this with your ajax call

$(document).ready(function(){
    $('input').on("click", function(e){
         for(var i = 0; i < data.length; i++){
             if(data[""+i] == $(this).attr("value")) {
                 $("#displayresults").html(i);
             } else {
                 continue;
             }
         }
    });
});

如果您的服务返回JSON,您不需要解析它,只需设置dataType:JSON,那么数据将自动转换为表示JSON返回的javascript对象……首先,如果您的ajax正在收集JSON数据,那么您的dataType属性应该是JSON。对于您的问题,要将JSON打印成HTML,您应该使用模板。寻找jsrender知道如何做。你的ajax调用成功吗?我不太确定。。。我对ajax还是很陌生,所以我不知道如何检查控制台是否有错误。我只是尝试了一下,但仍然没有显示任何内容。我也不想尝试将所有数据放在jquery中,因为我正在尝试学习如何从ajax调用。但是谢谢你的帮助!:我想用硬编码的数据变量替换ajax调用。
var data = {
"0": "Dog",
"1": "Cat",
"2": "Pony"
}; // Replace this with your ajax call

$(document).ready(function(){
    $('input').on("click", function(e){
         for(var i = 0; i < data.length; i++){
             if(data[""+i] == $(this).attr("value")) {
                 $("#displayresults").html(i);
             } else {
                 continue;
             }
         }
    });
});