使用json数据返回另一个javascript

Use json data returned for another javascript

本文关键字:另一个 javascript 返回 数据 json 使用      更新时间:2023-09-26

我试图使用返回的数据并将其传递给另一个javascript来处理。下面的代码可以工作。

var st1 = 'Florida';
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

我试过使用:

var st1 = data.state;
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

Result is false。我试过删除引号。

var st1 = data.state.replace(/'"/g, "");
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

相同的结果>假

谢谢你看一看。

<script>
    function convert_state(name, to) {
        var name = name.toUpperCase();
        var states = new Array({ 'name': 'Alabama', 'abbrev': 'AL' }, { 'name': 'Alaska', 'abbrev': 'AK' },
            { 'name': 'Arizona', 'abbrev': 'AZ' }, { 'name': 'Arkansas', 'abbrev': 'AR' }, { 'name': 'California', 'abbrev': 'CA' },
            { 'name': 'Colorado', 'abbrev': 'CO' }, { 'name': 'Connecticut', 'abbrev': 'CT' }, { 'name': 'Delaware', 'abbrev': 'DE' },
            { 'name': 'Florida', 'abbrev': 'FL' }, { 'name': 'Georgia', 'abbrev': 'GA' }, { 'name': 'Hawaii', 'abbrev': 'HI' },
            { 'name': 'Idaho', 'abbrev': 'ID' }, { 'name': 'Illinois', 'abbrev': 'IL' }, { 'name': 'Indiana', 'abbrev': 'IN' },
            { 'name': 'Iowa', 'abbrev': 'IA' }, { 'name': 'Kansas', 'abbrev': 'KS' }, { 'name': 'Kentucky', 'abbrev': 'KY' },
            { 'name': 'Louisiana', 'abbrev': 'LA' }, { 'name': 'Maine', 'abbrev': 'ME' }, { 'name': 'Maryland', 'abbrev': 'MD' },
            { 'name': 'Massachusetts', 'abbrev': 'MA' }, { 'name': 'Michigan', 'abbrev': 'MI' }, { 'name': 'Minnesota', 'abbrev': 'MN' },
            { 'name': 'Mississippi', 'abbrev': 'MS' }, { 'name': 'Missouri', 'abbrev': 'MO' }, { 'name': 'Montana', 'abbrev': 'MT' },
            { 'name': 'Nebraska', 'abbrev': 'NE' }, { 'name': 'Nevada', 'abbrev': 'NV' }, { 'name': 'New Hampshire', 'abbrev': 'NH' },
            { 'name': 'New Jersey', 'abbrev': 'NJ' }, { 'name': 'New Mexico', 'abbrev': 'NM' }, { 'name': 'New York', 'abbrev': 'NY' },
            { 'name': 'North Carolina', 'abbrev': 'NC' }, { 'name': 'North Dakota', 'abbrev': 'ND' }, { 'name': 'Ohio', 'abbrev': 'OH' },
            { 'name': 'Oklahoma', 'abbrev': 'OK' }, { 'name': 'Oregon', 'abbrev': 'OR' }, { 'name': 'Pennsylvania', 'abbrev': 'PA' },
            { 'name': 'Rhode Island', 'abbrev': 'RI' }, { 'name': 'South Carolina', 'abbrev': 'SC' }, { 'name': 'South Dakota', 'abbrev': 'SD' },
            { 'name': 'Tennessee', 'abbrev': 'TN' }, { 'name': 'Texas', 'abbrev': 'TX' }, { 'name': 'Utah', 'abbrev': 'UT' },
            { 'name': 'Vermont', 'abbrev': 'VT' }, { 'name': 'Virginia', 'abbrev': 'VA' }, { 'name': 'Washington', 'abbrev': 'WA' },
            { 'name': 'West Virginia', 'abbrev': 'WV' }, { 'name': 'Wisconsin', 'abbrev': 'WI' }, { 'name': 'Wyoming', 'abbrev': 'WY' }
            );
        var returnthis = false;
        $.each(states, function (index, value) {
            if (to == 'name') {
                if (value.abbrev == name) {
                    returnthis = value.name;
                    return false;
                }
            } else if (to == 'abbrev') {
                if (value.name.toUpperCase() == name) {
                    returnthis = value.abbrev;
                    return false;
                }
            }
        });
        return returnthis;
    }
</script>
 $.ajax({
                        "url": url,
                        "dataType": "json"
                    }).done(function (data) {
                        handleResp(data);
                        // Store in cache
                        cache[Zip] = data;
                    }).fail(function (data) {
                        if (data.responseText && (json = $.parseJSON(data.responseText))) {
                            // Store in cache
                            cache[Zip] = json;
                            // Check for error
                            if (json.error_msg)
                                errorDiv.text(json.error_msg);
                        }
                        else
                            errorDiv.text('Request failed.');
                    });

我已经用静态json尝试了上面的代码,它工作得很好。从ajax接收到的数据似乎不像预期的那样。

我已经创建了一个活塞供您参考。

var data = {
  "state" : "Florida"
}
var st1 = data.state;
var st = convert_state(st1, 'abbrev');
alert(st+"");

" http://plnkr.co/edit/VOFKtHo1X6LJsXWg7Eto?p =预览"