如何使用API​​请求中的特殊字符ID?

时间:2013-01-02 23:01:43

标签: javascript ajax api

考虑以下AJAX请求:

$.ajax({
    url: 'http://www.minecraftwiki.net/api.php?action=query&meta=siteinfo&siprop=namespaces&format=json',
    dataType: 'json',
    async: false,
    success: function(siResponse) {
        for(var ns in siResponse.query.namespaces) {
            if(siResponse.query.namespaces[ns].id >= 0) {
                if(siResponse.query.namespaces[ns].id != namespaces.length) {
                    break;
                }
                if(siResponse.query.namespaces[ns].id === 0) {
                    namespaces[siResponse.query.namespaces[ns].id] = 'Main';
                } else {
                    namespaces[siResponse.query.namespaces[ns].id] = siResponse.query.namespaces[ns].&asterisk;;
                }
                movelog[siResponse.query.namespaces[ns].id] = 0;
                protectlog[siResponse.query.namespaces[ns].id] = 0;
            }
        }
    }
});

Here's the API response

现在,我可以使用.canonical并将id 4和5从默认的“Project”重命名为“Minecraft Wiki”,但我想改用“*”:值。这可能吗,或者这只是一个糟糕的维基设置?

2 个答案:

答案 0 :(得分:0)

据我所知:不,你不能用星号,数字或其他特殊字符开头。有关详细信息,请参阅this帖子。

答案 1 :(得分:0)

您需要使用foo['*']来访问字段,而不是foo.*这将是一个SyntaxError。

所以在你的情况下,它将是siResponse.query.namespaces[ns]['*']