0

我使用此脚本根据带有 json 响应的 ajax 请求更新表格单元格。它不会更新指定的表格单元格。我的 json 字符串格式不正确吗?

$(document).ready(function() {

    $('select.swcomp').change(function () {
        var res_id = $(this).val();
        var index = $(this).data('index');

        $.ajax({
            type: 'POST',
            url:'http://skiweather.eu/v3/ajax/compare_snow.php',
            data: '{ "res_id":"' + res_id + '", "index":"' + index + '" }',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (response) {
                $('#destin_' + index).html(response.resort);               
                $('#snowval_' + index).html(response.snow_valley);
                $('#snowmnt_' + index).html(response.snow_mountain);            
            }
        });
        return false;
    });

});

html

 <select name="resort_1" class="swcomp" data-index="1">
                    <option value="NoResort">resorts</option>
                    <option value="6">Adelboden</option>
                    <option value="237">Davos</option>
</select>

<table>
    <tr><td id="destin_1">res</td></tr>
    <tr><td id="snowval_1">val</td></tr>
    <tr><td id="snowmnt_1">mnt</td></tr>
</table>   

json

var response =[{"snow_valley":"40","snow_mountain":"40","resort":"Adelboden"}]
4

2 回答 2

2

response 不是一个对象,它是一个数组,所以response.resort它应该是未定义的response[0].resort

$('#destin_' + index).html(response[0].resort);               
$('#snowval_' + index).html(response[0].snow_valley);
$('#snowmnt_' + index).html(response[0].snow_mountain); 
于 2013-11-03T08:54:11.037 回答
0

是的,您收到的 json 格式正确。如果你想检查你的 json 农场是否正确,请按照这个网站http://jsonlint.com/它会检查你的 json 验证。访问 json 数据http://jsontree.com/只需粘贴您的 json 并解析它将提供如何轻松访问数据

于 2013-11-03T09:03:41.270 回答